前提・実現したいこと
n個の整数が配列arrとして与えられたとき,その中で,足して0となる2数があるかどうか判定し,答えるメソッドを作成したいです。
出力としては、足して0になる場合はtrue, そうでない場合はfalseとする。
発生している問題・エラーメッセージ
irb(main):021:0> has_duplicates? [9, 5, 2, -6, 2, -8, 1, 10, -5, -2]
true
true
true
true
true
true
true
true
true
true
=> [9, 5, 2, -6, 2, -8, 1, 10, -5, -2]
大量にtrueが出力してしまい、何をしたらいいのかよくわかりません。全体的に間違っているかもしれないので、ご協力のほどよろしくお願いします・
実際に出力させたいのは次のよう。
irb> has_duplicates? [9, 5, 2, -6, 2, -8, 1, 10, -5, -2]
=> true
該当のソースコード
ruby
1def has_duplicates?(arr) 2 arr.each_with_index do |i, j| 3 if i = -j 4 puts 'true' 5 else 6 puts 'false' 7 end 8 end 9end
試したこと
なんどか試した結果ここまでたどり着きました。
補足情報(FW/ツールのバージョンなど)
回答4件
あなたの回答
tips
プレビュー