このコードはindices
配列に単語'hello'
のインデックスを追加することになっているが、それは、配列に追加していない:配列内の特定の要素のすべてのインデックスを見つける方法は?
words = %w(hello how are you then okay then hello how)
def global(arg1, arg2)
indices = []
arg1.each do |x, y|
indices << y if arg2 == x
end
indices
end
global(words,'hello')
#=> [nil, nil]
私のコードで何が悪いのでしょうか?
'ARG1 == X 'もし配列はその要素の1つと等しくないので、この条件は決して真ではありません。だからこそあなたは指数を得ていません。 'もしarg2 == x'を意味しましたか? –
あなたの引数の方がわかりやすく、説明的な名前があれば、このバグは起こりませんでした。 –
また、 'each'の代わりに' each_with_index'を使います。 –