2010-08-31 9 views

risposta

119

Usa indicizzazione inversa:

[1..-1] 

Elementi in Ruby e alcune altre lingue ha dritto in avanti e indietro indicizzazione (posso fare errore terminologia). Quindi, la stringa con lunghezza n ha 0..(n-1) e ulteriori indici (-n)..1, ma non di più. Non è possibile utilizzare gli indici >=n o <-n.

'i' 'n'|'A' 'u' 's' 't' 'i' 'n'|'A' 'u' 's' 't' 'i' 'n'|'A' 'u' 's' 
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 
<- error|    you can use this    | error -> 
+12

+1 per l'illustrazione – bta

+1

Illustrazione piacevole, tuttavia, l'utilizzo del " le lettere "valide" (cioè quelle esistenti nella stringa) sono un po 'fuorvianti, a mio avviso, dal momento che i dati al di fuori dei limiti della stringa sono davvero indefiniti. Potrebbe essere qualsiasi cosa, inclusi i non caratteri. Ad ogni modo, +1 per una risposta così ben spiegata :-) –

11

Usa -1 :-)

'Austin'[1..-1] # => "ustin" 
4

Provare a utilizzare [1..-1]

3

Se si assegna la stringa a una variabile, è possibile utilizzare la lunghezza/dimensioni

string = 'Austin' 
string[1..string.length] # => ustin 
string[1..string.size] # => ustin 
Problemi correlati