Ruby今読んでる「ハッカーと画家」にこんなRubyのサンプルコードが載ってました。i}end本の解説によるとこれは「数nを取り、『数iを取ってnをiだけ増加させ、その増加した値を返す関数』を返す関数」というアキュムレータ(累積器)だそうです。本を読んだだけではピンとこなかったので実際に動かしてみました。-1実行結果は以下の通りです。24776これを見てどういうプログラムか分かりましたか?僕は実行結果を見てもしばらく意味がわかりませんでした・・・。見るとこういうことだったんですね。#7-1=6前の計算の値がxの中に保持されているイメージです。lambdaについてもうちょっと調べてみようと「プログラミング言語Ruby」を読んでいたところ、Ruby1.9ではlambdaの新しい構文がサポートされたと書いてありました。その構文を使って最初のコードを書き直してみました。1#以下略fooの定義までlambdaにしてしまうとこんな感じです。クロージャ」のあたりに詳しく書いてあります。このあたりは難しすぎて完全には理解できていないですけどね・・・。-;;こんなコードを実務で書く機会はほとんどないでしょうが、動きが面白かったので載せてみました。先月、CodeIQにビンゴカード作成問題を出題しました。はてなブログPro株式会社ソニックガーデンで働くRubyプログラマ。2017年11月に「プロを目指す人のためのRuby入門」を出版。blog)はてなブログをはじめよう!JunichiItoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。