Ruby:
Trovare la lunghezza di una stringa
How to:
# Usiamo il metodo .length per ottenere la lunghezza di una stringa
frase = "Ciao, mondo!"
lunghezza = frase.length
puts lunghezza # Output: 12
# .size è un alias di .length e funziona allo stesso modo
dimensione = frase.size
puts dimensione # Output: 12
Deep Dive
In Ruby, .length
e .size
sono sinonimi, entrambi restituiscono il numero di caratteri in una stringa. Questa funzionalità esiste da molto tempo, sin dalle prime versioni del linguaggio.
Un’alternativa è il metodo .bytesize
che restituisce il numero di byte utilizzati dalla stringa, utile quando il conteggio dei byte è critico, come con i dati binari o per ottimizzazioni di performance.
Sotto quei metodi c’è una rappresentazione interna delle stringhe, chiamata RString in C, che gestisce come le stringhe vengono memorizzate in memoria. Questo è il motivo per cui ottenere la lunghezza di una stringa è un’operazione molto rapida in Ruby; è semplicemente il recupero di un valore dall’interno della struttura dati della stringa.
# Utilizzo di .bytesize
frase_binaria = "Ciao, mondo!".encode('UTF-8')
puts frase_binaria.bytesize # Output potrebbe variare a seconda dell'encoding (per UTF-8 sarà 12)
Importante notare che .length
e .size
restituiscono lo stesso valore indipendentemente dall’encoding, mentre .bytesize
può variare a seconda dell’encoding dei caratteri.