问题很简单,但在文档中找不到。
如何将字符串或数组从n
切分到永远?
>> 'Austin'[1..3]
=> "ust"
>> 'Austin'[1..]
SyntaxError: compile error
(irb):2: syntax error, unexpected ']'
from (irb):2
发布于 2010-09-01 01:31:21
使用反向索引:
[1..-1]
Ruby (和其他一些语言)中的元素有正向索引和“反向”索引。因此,长度为n
的字符串具有0..(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 ->
发布于 2010-09-01 01:30:36
使用-1 :-)
'Austin'[1..-1] # => "ustin"
发布于 2019-01-04 01:54:32
非常优雅地使用Ruby2.6中引入的endless range:
string = 'Austin'
string[1..] # => ustin
希望这对某些人来说是方便的。从最好的方法中删减几个字符到现在,一旦无穷尽的范围被定期采用,就会变得非常易读。
https://stackoverflow.com/questions/3611586
复制相似问题