[Rd] round() ignores missing arguments if it is used inside another function where some arguments are missing.
peter dalgaard
pdalgd at gmail.com
Sat Nov 19 09:13:15 CET 2011
On Nov 19, 2011, at 04:35 , Henrik Bengtsson wrote:
> On Fri, Nov 18, 2011 at 9:34 AM, Kevin R. Coombes
> <kevin.r.coombes at gmail.com> wrote:
>> You can also see the odd behavior without wrapping round in another
>> function:
>>
>>> round(100.1, digits=)
>> [1] 100
>
> Hmm... is there a reason for why the parser accepts that construct?
Yes. See e.g. help(alist) for actual usage.
It can also be used to pass empty arguments to FUN in apply-constructs:
a <- matrix(1:12, 3, 4)
f <- function(i, j) a[i,j]
lapply(1:4, f, i=)
> Some example:
>
>> parse(text="f(a=)")
> expression(f(a=))
>
>> parse(text="f[a=]")
> expression(f[a=])
>
>> parse(text="(a=)")
> Error in parse.default(text = "(a=)") : <text>:1:4: unexpected ')'
> 1: (a=)
>
> /Henrik
>
>>
>> On 11/18/2011 10:19 AM, Joris Meys wrote:
>>>
>>> On Fri, Nov 18, 2011 at 5:10 PM, Gavin Simpson<gavin.simpson at ucl.ac.uk>
>>> wrote:
>>>>
>>>> round is indicated to not evaluate its arguments. I don't follow the C
>>>> code well enough to know if it should be catching the missing argument
>>>> further on - it must be because it is falling back to the default, but
>>>> the above explains that the not evaluating arguments is intended.
>>>>
>>>> G
>>>
>>> So if I understand it right, the y argument is not evaluated in the
>>> fun2 function but deeper in the C code. that explains the lack of the
>>> error message, thanks! I keep on learning every day.
>>> Cheers
>>>
>>> Joris
>>>
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-devel
mailing list