[Rd] Argument recycling in substring()
peter dalgaard
pdalgd at gmail.com
Fri Jun 4 13:06:47 CEST 2010
On Jun 4, 2010, at 12:10 PM, Deepayan Sarkar wrote:
> 2010/6/4 Martin Maechler <maechler at stat.math.ethz.ch>:
>>>>>>> "HP" == Hervé Pagès <hpages at fhcrc.org>
>>>>>>> on Thu, 03 Jun 2010 17:53:33 -0700 writes:
>>
>> HP> Hi,
>> HP> According to its man page substring() "expands (its) arguments
>> HP> cyclically to the length of the longest _provided_ none are of
>> HP> zero length".
>>
>> HP> So, as expected, I get an error here:
>>
>> >> substring("abcd", first=2L, last=integer(0))
>> HP> Error in substring("abcd", first = 2L, last = integer(0)) :
>> HP> invalid substring argument(s)
>>
>> HP> But I don't get one here:
>>
>> >> substring(character(0), first=1:2, last=3L)
>> HP> character(0)
>>
>> HP> which is unexpected.
>> according to the docu.
>>
>> My gut feeling would say that the documentation should be
>> updated in this case, rather than the implementation.
>>
>> RFC! other opinions?
>
> I agree. The current behaviour is reasonable.
Yes, but I don't see how it is inconsistent with the docs. It says that it won't recycle, and it doesn't. The fact that the combination of 0-length index and a positive-length x is nonsensical is an orthogonal issue. (Notice, BTW, that
x <- character(0); i <- integer(0); substr(x,i,i) does NOT give an error.)
Of course it is never harmful to be explicit about things....
>
> -Deepayan
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
--
Peter Dalgaard
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