核心扩展字符串访问

字符串#在

返回字符串对象的子字符串。与 String#[] 相同的界面。

str = "hello"
str.at(0)      # => "h"
str.at(1..3)   # => "ell"
str.at(-2)     # => "l"
str.at(-2..-1) # => "lo"
str.at(5)      # => nil
str.at(5..-1)  # => ""

字符串#从

返回从给定位置到字符串末尾的子字符串。

str = "hello"
str.from(0)  # => "hello"
str.from(3)  # => "lo"
str.from(-2) # => "lo"

字符串#至

返回从字符串开头到给定位置的子字符串。
如果位置为负,则从字符串的末尾开始计算。

str = "hello"
str.to(0)  # => "h"
str.to(3)  # => "hell"
str.to(-2) # => "hell"

fromto 可以串联使用。

str = "hello"
str.from(0).to(-1) # => "hello"
str.from(1).to(-2) # => "ell"

字符串#第一

返回第一个字符或给定数量的字符,直到字符串的长度。

str = "hello"
str.first    # => "h"
str.first(1) # => "h"
str.first(2) # => "he"
str.first(0) # => ""
str.first(6) # => "hello"

字符串#最后

返回最后一个字符,或从字符串末尾向后计数的给定数量的字符。

str = "hello"
str.last    # => "o"
str.last(1) # => "o"
str.last(2) # => "lo"
str.last(0) # => ""
str.last(6) # => "hello"