[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