2
string = "Yellow"
puts string[1..string.length] -> outputs "ellow"

string.lengthを使用せずにRubyに同じことをさせるより短い方法はありますか?たとえば、Pythonではstring [1:]と書くことができ、それが実行されます。

前もって感謝します。

4

2 に答える 2

8

Ruby で文字列または配列のインデックスを取得するために使用[]しているときに、負の数を使用すると、インデックスの末尾からカウントが開始されます1([-0]は と同じになります[0])。

あなたの例では、

puts string[1..-1] 

目的の文字列を出力します"ellow"。同様に、

puts string[1..-2] 

などを制作"ello"します。

String#[] のドキュメント

于 2012-04-05T13:50:13.947 に答える
2

間隔の右の境界として-1を使用する必要があります。

string = "Yellow"
puts string[1..-1] -> outputs "ellow"
于 2012-04-05T13:47:36.500 に答える