PDA

Visualizza la versione completa : [ruby] Perchè le classi in Ruby sono considerate come delle costanti?


Grejo
27-05-2010, 17:14
Ciao. :ciauz:
Ultimamente sto tentando di studiarmi Ruby leggendo qualche libro.
Nell'ultimo libro che sto leggendo ho trovato però il seguente passo che però non capisco:


In Ruby una classe si identifica mediante il suo nome, un'etichetta che può essere decisa arbitrariamente seguendo queste 2 regole:
- il nome della classe deve cominciare con una lettera maiuscola;
- sono ammesse lettere maiuscole, minuscole e numeri.
La lettera maiuscola identifica in Ruby una costante: possiamo quindi vedere come le classi in Ruby siano delle costanti, non soggette pertanto ad alcuna modifica.


Quello che non capisco del passo sopra citato è il fatto che viene scritto che una classe non può essere modificata poichè è trattata come una costante. Questo secondo me va in contrasto con il fatto che Ruby è rifflessivo, ossia che è in grado di "modificarsi" a livello di Run-Time.
Qualcuno mi fa chiarezza?
Ciao. :ciauz:
Grejo

toraz
28-05-2010, 15:35
Originariamente inviato da Grejo
non soggette pertanto ad alcuna modifica.

Immagino che la tua confusione derivi dal fatto che questa affermazione è falsa (o quantomeno parecchio imprecisa). In questa pagina (http://rubylearning.com/satishtalim/ruby_constants.html) trovi una spiegazione piuttosto precisa di cosa significa "costante" in Ruby.

Poi volessimo sottilizzare di imprecisioni in quattro righe che hai postato ce ne sarebbero altre... Per curiosità, di che libro si tratta?

Grejo
31-05-2010, 16:42
Originariamente inviato da toraz
Immagino che la tua confusione derivi dal fatto che questa affermazione è falsa (o quantomeno parecchio imprecisa). In questa pagina (http://rubylearning.com/satishtalim/ruby_constants.html) trovi una spiegazione piuttosto precisa di cosa significa "costante" in Ruby.

Poi volessimo sottilizzare di imprecisioni in quattro righe che hai postato ce ne sarebbero altre... Per curiosità, di che libro si tratta?

Ciao. :ciauz:

Grazie per il link, mi sono fatto chiarezza sul concetto di "costante" in Ruby.

Il libro che sto leggendo è "Ruby" di Marco Ceresa. Il libro a parte qualche paragrafo oscuro è comunque chiaro.

Ciao. :ciauz:

Grejo

ynw
11-06-2010, 18:22
Credo che si volesse dire che il nome della classe è una costante e quindi non variabile.

Loading