- Ruby 初心者スレッド Part 59 [無断転載禁止]©2ch.net
210 :デフォルトの名無しさん[sage]:2016/11/11(金) 08:58:07.26 ID:ENznHnYU - Rubyのyieldはただのコールバック関数呼び出しの
シンタックスシュガーだからなぁ。 JavaScriptでかけばこんな感じだよ。 a = [1, 2, 3, 4] forEach(a, function(i) { return i * 2 }) function forEach(arr, block) { var ret = [] for (var i = 0; i < arr.length; i++) { ret[i] = block(arr[i]) } return ret } あとは書き方程度の問題。ブロックが引数の最後の一つである場合に限り 引数のblockコールバックを省略することが出来て、代わりにyieldを使って そのコールバックが呼び出せるってだけ。
|