On 08/15/2015 02:01 PM, David Winsemius wrote:
I was looking at the code in seq.default and saw code that I think would throw
an error if it were ever executed, although it will not because there is first
a test to see if one of its arguments is missing. Near the end of the function
body is this code:
else if (missing(by)) {
if (missing(to))
to <- from + length.out - 1L
if (missing(from))
from <- to - length.out + 1L
if (length.out > 2L)
if (from == to)
rep.int(from, length.out)
else as.vector(c(from, from + seq_len(length.out -
2L) * by, to))
Notice that the last call to `else` would be returning a value calculated with
'by' which was already established as missing.
missing arguments can have default values
> f = function(by="sea") if (missing(by)) by
> f()
[1] "sea"
which is the case for seq.default
> args(seq.default)
function (from = 1, to = 1, by = ((to - from)/(length.out - 1)),
length.out = NULL, along.with = NULL, ...)
Martin Morgan
--
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
Location: Arnold Building M1 B861
Phone: (206) 667-2793
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.