[Rd] round() ignores missing arguments if it is used inside another function where some arguments are missing.
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
>>> round(100.1, digits=)
>>  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:
> Error in parse.default(text = "(a=)") : <text>:1:4: unexpected ')'
> 1: (a=)
>> 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>
>>>> 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.
>>> 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.
>> R-devel at r-project.org mailing list
> R-devel at r-project.org mailing list
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-devel