La seq
pagina man indica quanto segue (enfasi sulla mia):
Descrizione
Genera sequenze regolari.
seq
è un generico standard con un metodo predefinito.seq.int
è una primitiva che può essere molto più veloce ma ha alcune restrizioni .
La pagina in realtà non descrive quali siano queste restrizioni, però. Ecco ogni altra menzione di seq.int
lì:
argomenti
[...]
length.out
lunghezza desiderata della sequenza. Un numero non negativo, che perseq
eseq.int
sarà arrotondato per eccesso se frazionario.[...]
Dettagli
[...]
L'interpretazione degli argomenti senza nome di
seq
eseq.int
non è standard ed è consigliabile nominare sempre gli argomenti durante la programmazione.[...]
seq.int
è un generico interno che invia i metodi per "seq
" in base alla classe del primo argomento fornito (prima della corrispondenza degli argomenti).
seq.int
,seq_along
Eseq_len
sono primitivi.Valore
seq.int
e il metodo predefinito diseq
per argomenti numerici restituisce un vettore di tipo "integer
" o "double
": i programmatori non dovrebbero fare affidamento su quale.
A parte affermare che le seq.int
spedizioni sono in seq
accordo con la classe del suo primo argomento, non vedo alcuna "restrizione".
Quindi, quali sono queste restrizioni?
seq.int
l'abitudine, ma ho visto quel commento nella pagina man e ora vorrei sapere se ho preso dei "rischi" nell'usarlo senza pensarci.
seq(from = 0 + 1i, to = 10 + 1i, length.out = 11)
ma non puoi fare lo stesso con seq.int
.
seq
funzionano tutti allo stesso modoseq.int
, ad eccezione di quelli notevolmente più veloci, quindi non è chiaro perché utilizzarliseq
affatto. Potrebbe essere correlato a twitter.com/BrodieGaslam/status/1196792003813621761