Statistics::R::REXP::Closure(3pm) | User Contributed Perl Documentation | Statistics::R::REXP::Closure(3pm) |
Statistics::R::REXP::Closure - an R closure
version 1.0002
use Statistics::R::REXP::Closure my $clos = Statistics::R::REXP::Closure->new(body => { Statistics::R::REXP::Language->new([ Statistics::R::REXP::Symbol->new('mean'), Statistics::R::REXP::Double->new([1, 2, 3]) ]) }); print $env->elements;
An object of this class represents an R closure ("ENVSXP"). Closures in R are constructed with "function" and consist of a arguments(args) -- optionally with default values (defaults); a body; and an environment, a pointer to an enclosing evaluation frame when the closure is used.
These objects represent calls (such as model formulae), with first element a reference to the function being called, and the remainder the actual arguments of the call. Names of arguments, if given, are recorded in the 'names' attribute (itself as Statistics::R::REXP::Character vector), with unnamed arguments having name ''. If no arguments were named, the environment objects will not have a defined 'names' attribute.
You shouldn't create instances of this class, it exists mainly to handle deserialization of "ENVSXP"s by the "IO" classes.
"Statistics::R::REXP:Environment" inherits from Statistics::R::REXP, with the added restriction that its first element has to be a Statistics::R::REXP::Symbol or another "Environment" instance. Trying to create a Closure instance that doesn't follow this restriction will raise an exception.
Classes in the "REXP" hierarchy are intended to be immutable. Please do not try to change their value or attributes.
There are no known bugs in this module. Please see Statistics::R::IO for bug reporting.
See Statistics::R::IO for support and contact information.
Davor Cubranic <cubranic@stat.ubc.ca>
This software is Copyright (c) 2017 by University of British Columbia.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007
2022-02-10 | perl v5.34.0 |