From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>

Date: Sun, 27 May 2007 07:19:46 +0100 (BST)

Date: Sun, 27 May 2007 07:19:46 +0100 (BST)

The meaning of parent.frame depends on where it is evaluated. So one should not expect it to do the same thing in two equivalent expressions (and nor should one expect deparse to do so, for example).

On Sun, 27 May 2007, ronggui wrote:

> The help page of eval says: The 'evalq' form is equivalent to

*> 'eval(quote(expr), ...)'. But the following is not equivalent. Can
**> anyone give me some explaination? Thanks very much.
**>
**>> f1 <- function(x,digits=5) lapply(x, f2)
**>> f2 <- function(x) eval(quote(print(x+1,digits=digits)),list(x=x),parent.frame(2))
**>> f1(list(x1=1))
**> [1] 2
**> $x1
**> [1] 2
**>
**>>
**>> f1 <- function(x,digits=5) lapply(x, f2)
**>> f2 <- function(x) evalq(print(x+1,digits=digits),list(x=x),parent.frame(2))
**>> f1(list(x1=1))
**> Error in print.default(x + 1, digits = digits) :
**> object "digits" not found
*

-- Brian D. Ripley, ripley_at_stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-help_at_stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.Received on Sun 27 May 2007 - 06:25:38 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Mon 28 May 2007 - 02:31:15 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*