Solo per divertimento Sto cercando di sovraccaricare il -
in R in modo che l'esecuzioneR: Come sovraccaricare l'operatore `-` se vuoi usare` -` nel tuo codice 'overload'?
some.string - n
mi darà la some.string con gli ultimi n caratteri rimossi.
Questo è il mio codice in R
`-` <- function(x,y) {
minus <- force(`-`)
if(typeof(x) == "character" & y >0) {
return(substr(x,1,minus(nchar(x), as.integer(y))))
} else {
return(minus(x,y))
}
}
"abc" - 2
Tuttavia questo sembra causare un una ricorsione infinitamente nidificato. Questo perché ogni volta meno viene eseguito tenta di eseguire se stesso. Ma questo è esattamente quello che sto cercando di prevenire assegnando meno = -
in primo luogo?
Come evitare questa ricorsione senza fine?
Certo che cosa eravate dopo, ma è possibile ottenere lo stesso, sostituendo il vostro due 'meno (a, b)' con qualcosa come 'sum (c (a, sign (log (0)) * b))'. – jbaums