我有以下问题:我从输入中读取一个数字并尝试使用该数字来访问给定的数组位置。我得到以下结果
value #=> "0"
value.to_i #=> 0
myArray[0] #=> MyObject
myArray[value.to_i] #=> nil
答案 0 :(得分:4)
这对我有用。
irb(main):012:0> myArray = ['first']
=> ["first"]
irb(main):013:0> value = '0'
=> "0"
irb(main):014:0> myArray[value.to_i]
=> "first"
答案 1 :(得分:0)
尝试myArray[Integer(value)]
(尽管value.to_i
也适用于我):
>> value = "0"
=> "0"
>> myArray = ["a", "b"]
=> ["a", "b"]
>> myArray[0]
=> "a"
>> myArray[Integer(value)]
=> "a"
答案 2 :(得分:0)
感谢您的所有回复,我试图通过以下方式访问类变量并使用数组
@myclass.myarray[value]
当我制作一个getter方法并在对象内部访问myarray时,错误消失了。如果有人能解释这种行为,请告诉我