Proc を使ってみる (Ruby)
Ruby
Published: 2019-10-08

やったこと

Proc を使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

調査

ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。

proc.rb

my_proc = Proc.new do |name|
  'hoge ' + name
end

p my_proc.call('called')

def my_call(b)
  p b.call('called in my_call')
end

my_call(my_proc)

出力結果

$ ruby proc.rb
"hoge called"
"hoge called in my_call"

参考