I nomi in Ruby sono utilizzati per riferirsi a costanti, variabili, metodi, classi e moduli, anche se alcune parole sono riservate e non possono essere utilizzate per questo scopo. Il primo carattere del nome permette a Ruby di distinguere il modo con cui è utilizzato. Nei caratteri minuscoli rientrano le lettere dalla
a alla
z, come anche il simbolo di
underscore. Nei caratteri maiuscoli rientrano le lettere dalla
A alla
Z e le cifre da
0 al
9. Un nome può essere dunque una lettera maiuscola, minuscola o un
underscore seguito dagli altri caratteri, che a loro volta possono essere una qualsiasi combinazione di lettere maiuscole e minuscole,
underscore e cifre.
Le variabili - che si sono già introdotte nel
precedente articolo - possono contenere dati di qualsiasi tipo. Esse si possono usare all'interno di un programma Ruby senza nessuna dichiarazione preventiva. Il nome stesso della variabile denota il suo scopo, che può essere locale, globale, instanza, ecc. In particolare:
- un nome di variabile locale - dichiarata come un oggetto - è costituito da un carattere minuscolo seguito dagli altri caratteri, come ad esempio _z, salva_ed_esegui;
- il nome di una variabile di istanza inizia con il carattere @, seguita da un carattere maiuscolo o minuscolo, come ad esempio @sign, @_, @Counter;
- un nome di variabile di classe - dichiarata all'interno di una classe - inizia con @@, seguite da un carattere maiuscolo o minuscolo, seguito a volte da altri caratteri, come nell’esempio @@sign, @@_, @@Counter;
- le variabili globali iniziano con il segno di dollaro $ seguito da altri caratteri: $counter, $COUNTER, $-x.
Una
costante inizia con una lettera maiuscola seguita da altri caratteri. I nomi di classe e di modulo sono costanti, e seguono la convenzione utilizzata per queste e quindi sono normalmente composti da caratteri maiuscoli e underscore, come per esempio
module MyMath,
PI=3.1416,
class MyGame.
I
nomi di metodo iniziano con una lettera minuscola e come caratteri speciali possono contenere solo il punto interrogativo e quello esclamativo come suffisso. Convenzionalmente in Ruby si usano gli
underscore per separare parole in nomi di variabili e metodi multipli. Per i nomi di classe, di modulo e di costanti si utilizzano caratteri maiuscoli, piuttosto che
underscore, per distinguere l'inizio delle parole all'interno del nome. Da notare che ogni variabile dichiarata può essere referenziata ad oggetti di differenti tipi.
Una costante in Ruby può riferirsi ad un oggetto; è utilizzata quando viene effettuato un assegnamento, generalmente in una definizione di classe o modulo; essa non potrebbe essere definita in un metodo. Ruby permette di alterare il valore di una costante, sebbene questo farà generare un messaggio di errore. Anche le variabili in questo linguaggio possono essere utilizzate come riferimento ad oggetti, che subiscono il
garbage collection in automatico.
Il tipo di dato di base in Ruby è il
numerico - incluso i tipi
Fixnum,
Integer,
Float -
String,
Array,
Hash,
Object,
Symbol,
Range e
RegEx. Ruby non richiede che si utilizzino primitive quando si manipolano dati di questi tipo.
Class realizza una classe di un oggetto:
<span style="font-size:1.0em">s = 'hello'
s.class # String
</span>
In Ruby infatti, qualsiasi cosa che si manipola è un oggetto e il risultato che si ottiene sono altri oggetti; mancano primitive o tipi di dato:
<span style="font-size:1.0em">5.times { puts "Ciao!n" } # ripeterà per 5 volte la stringa</span>
<span style="font-size:1.0em">"Elephants Like Peanuts".length # mostrerà la lunghezza della stringa</span>
"Traduzione e adattamento a cura di Francesca Beatrice Cice. La versione originale del tutorial di
Satish Talim può essere trovata su
rubylearning.com"