1. ホーム
  2. ruby

[解決済み] Rubyの文字列スライスインデックス:str[n..infinity].

2023-05-21 16:47:08

質問

簡単な質問ですが、ドキュメントで見つけることができませんでした。

から文字列または配列をスライスするにはどうすればよいですか? n から永遠に続くまでスライスするには?

>> 'Austin'[1..3]
=> "ust"
>> 'Austin'[1..]
SyntaxError: compile error
(irb):2: syntax error, unexpected ']'
    from (irb):2

どのように解決するのですか?

リバースインデックスを使用する。

[1..-1]

Ruby(と他のいくつかの言語)の要素は、まっすぐなインデックスと、"reversed" を持ちます。そのため、長さのある文字列 n0..(n-1) があり、さらに (-n)..-1 インデックスがありますが、それ以上ではありません。 >=n または <-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 ->