[R] The three-dot question
Duncan Murdoch
murdoch.duncan at gmail.com
Mon Jan 14 15:39:12 CET 2013
On 13-01-14 6:34 AM, Feng Li wrote:
> Hi Michael,
>
> Thanks for the reply.
>
> On Mon, 2013-01-14 at 10:33 +0000, R. Michael Weylandt wrote:
>> Hi Feng,
>>
>> I'm afraid I don't entirely understansd your question -- the `...`
>> construct only allows you to pass variable numbers of arguments, not
>> to have arbitrary access to the parent frames. You need to manually
>> extract "b" from the dots inside of testFun.
>>
>> Also, it's quite frowned upon to put ##rm(list = ls())## in your
>> examples: it's the mailing list equivalent of asking a buddy to come
>> over to help you move and then punching him in the face when he tries
>> to lift your sofa.
>
> The rm line just wants to declare there is no "b" in the global
> environment. I did not mean people ought to try it. Also notice that
> there is ">" in front of the rm. You won't get hurt if you just copy and
> paste it. If it bites you, the mouse and keyboard did it:)
If you are using a smart GUI, it will give you the option of pasting
just the commands, so there's a reasonable risk of executing the rm().
On the other hand, users should always start with an empty workspace, so
it's not so much a punch in the face as a minor annoyance.
Duncan Murdoch
>
>
> Cheers,
>
> Feng
>
>>
>> Cheers,
>> Michael
>>
>>
>> On Mon, Jan 14, 2013 at 10:21 AM, Feng Li <m at feng.li> wrote:
>>> Dear all,
>>>
>>> Why does not the three-dot accept arguments from the parent environment?
>>> I am just confused with this error, can someone give me a hint?
>>>
>>>> rm(list=ls())
>>>> testFun <- function(a, ...)
>>> + {
>>> + if(a){
>>> + print(a)
>>> + }else
>>> + {
>>> + print(b)
>>> + }
>>> + }
>>>>
>>>> myTask <- function(a)
>>> + {
>>> + b <- 3
>>> + testFun(a, b = b)
>>> + }
>>>> myTask(FALSE)
>>> Error in print(b) : object 'b' not found
>>>
>>>
>>> Thanks in advance!
>>>
>>> Feng
>>>
>>> --
>>> Feng Li
>>> Department of Statistics
>>> Stockholm University
>>> SE-106 91 Stockholm, Sweden
>>> http://feng.li/
>>>
>>> ______________________________________________
>>> R-help at r-project.org 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.
>
More information about the R-help
mailing list