我有以下代码
animals=['lion','tiger','zebra']
animals.each{|a| puts a}
我只想在这个阵列中打印老虎,因为我写了这样的东西
animals.each{|a| if a==1 puts animals[a]}
但这为什么不起作用?
您在您的情况下做错了:-
animals.each{|a| if animals[a]==2 puts a}
inline if
您以错误的方式发表的声明。
#each
通过数组的元素,而不是索引。因此animals[a]
将无法正常工作。它将引发错误no implicit conversion of String into Integer (TypeError)
。
使用以下方法执行此操作 Array#each_index
animals=['lion','tiger','zebra']
animals.each_index{|a| puts animals[a] if animals[a] == 'tiger' }
# >> tiger
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句