ブックプログラミングRubyのを読みながら、一例としては、ブロックがクロージャとして使用する方法を示していますRubyでは、なぜ文字列にintをブロックにクロージャとしてブロックすることができますか?
def nTimes(aThing)
return proc {|n| aThing * n}
end
p = nTimes("Hello ")
今、私たちは出力p.call(3)
の価値を私たちの場合、それは、しかしHello Hello Hello
であるかどうコードは単にputs 3 * "Hello "
であり、Rubyは互換性のないタイプについて文句を言うでしょう。
なぜですか?ありがとう。
「puts」Hello「* 3」を試しましたか? –
ああ私はとても恥ずかしいです。ありがとうございました。 –
私はRubyを本当に知りません。私は、リンゴがリンゴと比較されていないことに気付いた。それは、Rubyで両方の方法がうまくいかない理由の説明を見るのは興味深いだろう...それはPythonでやっている。 –