[Roma.pm] join
Marco Balestra
balestra at cesmail.net
Sat Mar 4 11:35:00 PST 2006
On 04/mar/06, at 20:14, mauro morichi wrote:
> vediamo se qualcuno mi chiarisce sto dubbio.
> secondo la documentazione, la funzione join accetta due parametri,
> il primo
> potremo chiamarlo separatore, il secondo e' l'array o l'elenco dei
> valori da
> unire.
siccome sono fondamentamente un creativo :-D vado ad intuito, "a
pelle", e non a documentazione.
join STRING, SCALAR|ARRAY { , SCALAR|ARRAY }
Backus-Naur mi perdoni, ma da quel che vedo in effetti potrei pensare
che join prenda n parametri (con n > 1) di cui il primo e`
l'espressione stringa utilizzata per unire insieme tutti i successivi.
Poi rifletto sul fatto che dopo il primo argomento posso mescolare
sia scalari che array, e quindi ci ripenso e nego tutto :-)
> nessun warning ricevuto, e a una verifica del risultato ottengo
> sempre uno
> scalare. fino a qui mi pare tutto ok.
ma cosa hai messo dentro? cosa viene fuori? Vabbeh, lo provo...
perl -e "@foo = ('a','b','c'); print join @foo;"
Non esce niente :-)
Presumibilmente usa il primo parametro (@foo) in un contesto scalare,
e non avendo nulla da unire torna una stringa vuota.
Poi rifletto che dada mi terrebbe una lezione sulla supercazzola
dereferenziata, allora smuovo il mio micidiale culo di piombo e ci
provo:
perl -e "@foo = ('a','b','c'); print join @foo,'x','y';"
Stampa "x3y"... incredibile, ci ho preso! :-D
> quindi quello scalare non e' quello che appare.
> Che cacchio e' diventato? cosa contiene? a occhio sembra una
> normalissima
> stringa, ma in pratica contiene qualche cosa d'altro che la mia
> inesperienza
> non mi permette di arrivarci....
E` solo una stringa vuota :-)
--
Marco Balestra
IT consultant
balestra at cesmail.net
More information about the Roma
mailing list