>>>>> "TL" == Thomas Lumley <[EMAIL PROTECTED]>
>>>>> on Mon, 22 May 2006 07:09:09 -0700 (PDT) writes:
TL> On Mon, 22 May 2006, Gabor Grothendieck wrote:
>> Due to lazy evaluation, I don't think a and b are fully evaluated:
>>
>>> ifelse(1, a <- 1, b <- 2)
>> [1] 1
>>> a
>> [1] 1
>>> b
>> Error: object "b" not found
TL> yes. If you look at the code for ifelse() it evaluates
TL> the second argument if any test values are TRUE and the
TL> third argument if any test values are FALSE, so in the
TL> scalar case it does not evaluate both arguments.
yes.
And (Gabor), if you recall what I said earlier, it's pretty clear
that I would not even *consider* using ifelse() in the scalar
case. So my original statement was about the case ifelse() is
designed for: The non-trivial vector case, and there my
statement of "fully evaluated" does apply.
Martin
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html