なぜこれが起こっているのか分かりません。コードは次のとおりです。
def calculate_discount items
items.each do |item|
#Nothing here
end
end
items = [5, 100]
calculate_discounts items
コマンドラインで実行すると、次のようになります。
5
100
他の誰かが何が起こっているのか知っていますか?
なぜこれが起こっているのか分かりません。コードは次のとおりです。
def calculate_discount items
items.each do |item|
#Nothing here
end
end
items = [5, 100]
calculate_discounts items
コマンドラインで実行すると、次のようになります。
5
100
他の誰かが何が起こっているのか知っていますか?
値を返すことは、値が実際に出力されることを意味するものではありません。
IRBを使用する場合、「p」関数は関数によって返される値を表示します。
Ruby の関数は常に値を返します。return ステートメントがない場合、Ruby は関数で計算された最後の値を返します。Ruby のコレクション イテレータも値を返します。
irb(main):018:0> [1,2,3].each do |item|
irb(main):019:1* end
=> [1, 2, 3]
したがって、この場合、「calculate_discount」は「items」の要素を返します。
とった。しばらくRubyをコーディングしていなかったので、私は愚かでした。ruby が最後の値を自動返すことを忘れていました。