Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

書籍 Ruby Cookbook | ブロックの呼び出しと作成

パンくず

Ruby Cookbook
ブロックの呼び出しと作成

概要

ブロックの呼び出しと作成

内容

ラムダ構文によりブロックを変数として扱うことが可能。
また、その変数をメソッドの引数にしたり
戻り値にすることも可能です。

サンプルコード

# encoding: Windows-31J
require "pp"

# lambdaでブロックを宣言
multiplyer = lambda{ |x| puts x * 2 }
multiplyer.call 2
multiplyer.call 4

# ブロックは引数で渡すこと、戻り値に返すことが可能
def use_lambda(&multiplyer)
  multiplyer
end

multiplyer = use_lambda{|x|puts x * 2}
multiplyer.call 8
multiplyer.call 16

出力

4
8
16
32