私が示しているのは、洗練された機能ですが、問題を簡単な方法で説明するだけです。この関数で問題を解決すると、元のコードの問題も解決しました。"each"イタレーションの最後に範囲が表示されます
問題はシンプルで、たぶん解決策ですが、私はRubyの新機能であり、この疑いがあります。私は、範囲内の値を印刷したい:私は関数を呼び出すとき
def test
(0...5).each do |i|
puts i
end
end
、私が欲しい結果が
0
1
2
3
4
ですが、私が持っている結果が
0
1
2
3
4
0...5
ですなぜこの0...5
が一緒に印刷されるのですか?どうすればそれを避けることができますか?
私はここで同じ動作をしていません。私のループだけをrbファイルに保存すると、あなたの望む出力が得られます。しかし、それらを関数の中に入れると、範囲が再び出力されます。それは私のLinux端末で '' ruby test.rb''と呼ぶときです。 – rwehresmann
私はそれをテストしました。 'def foo 'を置く。 1upto(5).each {| i |私を入れます。終わり; foo'をファイルに書き、 'ruby test.rb'でそれを呼び出すと、1から5の番号が出力されます。私が作ろうとしている主な点は、REPL(IRBのような)では、' puts/print'の呼び出しに加えて、すべての関数の戻り値が含まれています。 –