[ruby-it] ||=

Pietro Giorgianni giorgian a gmail.com
Mer 4 Mar 2009 11:14:32 CET


2009/3/4 Alessandro Benisi <alessandrobenisi a hotmail.com>:
> Salve a tutti.
> Vorrei chiedervi una cosa, magari è una pura cavolata.
>
> Vorrei sapre cosa fa l'istruzione ruby:  @registry ||= {} .

è equivalente a:

unless @registry
  registry = {}
end

in pratica, se @registry non è ancora definito, lo inizializza ad hash vuoto.

(in ruby, se provi a valutare una variabile "normale" non ancora
definita, ad esempio:

questa_qua

ottieni un errore, anche perché per la sintassi di ruby non è chiaro
se si tratta di una variabile o una funzione. le variabili d'istanza,
invece, se non inizializzate, valgono nil, quindi

@questa_qua

è nil.

pietro


More information about the Ml mailing list