Title: | Parametrized Active Bindings |
Version: | 0.1.2 |
Description: | Provides a simple interface for creating active bindings where the bound function accepts additional arguments. |
Suggests: | testthat |
Date: | 2024-11-21 |
BugReports: | https://github.com/krlmlr/bindr/issues |
URL: | https://github.com/krlmlr/bindr, https://krlmlr.github.io/bindr/ |
RoxygenNote: | 7.3.2.9000 |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
NeedsCompilation: | no |
Packaged: | 2024-11-21 20:34:52 UTC; kirill |
Author: | Kirill Müller |
Maintainer: | Kirill Müller <kirill@cynkra.com> |
Repository: | CRAN |
Date/Publication: | 2024-11-21 21:30:14 UTC |
bindr: Parametrized Active Bindings
Description
Provides a simple interface for creating active bindings where the bound function accepts additional arguments.
Details
See create_env()
for creating an environment populated with active bindings,
and populate_env()
for populating an existing environment.
Author(s)
Maintainer: Kirill Müller kirill@cynkra.com (ORCID)
Other contributors:
RStudio [copyright holder, funder]
See Also
Useful links:
Report bugs at https://github.com/krlmlr/bindr/issues
Create or populate an environment with parametrized active bindings
Description
Leverages makeActiveBinding() by allowing parametrized functions that take the name of the binding and an arbitrary number of additional arguments.
Usage
create_env(names, fun, ..., .envir = parent.frame(), .enclos = parent.frame())
populate_env(env, names, fun, ..., .envir = parent.frame())
Arguments
names |
A name, or a list of names, or a character vector; in the latter case the names are mangled if they are not representable in the native encoding |
fun |
A function with at least one argument, which will be called
to compute the value of a binding. The function will be called with the
binding name as first argument (unnamed), and |
... |
Additional arguments to |
.envir |
The environment in which |
.enclos |
The enclosing environment ( |
env |
An environment |
Examples
env <- create_env(letters, paste0, "-lowercase")
env$a
env$c
env$Z
populate_env(env, LETTERS, paste0, "-uppercase")
env$a
env$Z