这个红宝石代码中的[-1,1]是什么?

时间:2017-03-24 00:33:46

标签: ruby

我正在看一个代码的例子并且很困惑。

def self.type(input) 
  input.strip!
  return 'question' if input[-1,1] == '?'  
end

所以,输入[-1]是有意义的,它检查最后一个字符是否是问号。 1做了什么?此外,所有示例测试都没有1

1 个答案:

答案 0 :(得分:3)

input[-1,1]表示从最后一个字符中读取1个字符。它给出了与input[-1]相同的结果,因为您只读取最后一个字符中的1个字符。

查看一些示例以了解更多信息:

❯ irb
2.3.0 :001 > input = 'lenin'
 => "lenin"
2.3.0 :002 > input[-1]
 => "n"
2.3.0 :003 > input[-1,1]
 => "n"
2.3.0 :004 > input[-2]
 => "i"
2.3.0 :005 > input[-2, 1]
 => "i"
2.3.0 :006 > input[-2, 2]
 => "in"
2.3.0 :007 > input[-2, 3]
 => "in"