我正在看一个代码的例子并且很困惑。
def self.type(input)
input.strip!
return 'question' if input[-1,1] == '?'
end
所以,输入[-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"