使用输入中的数字来访问数组位置

时间:2009-05-21 18:44:53

标签: ruby

编辑:第一部分删除我找到了答案。

我有以下问题:我从输入中读取一个数字并尝试使用该数字来访问给定的数组位置。我得到以下结果

value #=> "0"
value.to_i #=> 0
myArray[0] #=> MyObject
myArray[value.to_i] #=> nil

3 个答案:

答案 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时,错误消失了。如果有人能解释这种行为,请告诉我