Trovare la lunghezza di una stringa

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.

See Also