From: 桑島雄一郎 <kanimiso / eins.rnac.ne.jp>
Subject: [ruby-list:40530] Re: procの動作について(質問)
Date: Thu, 13 Jan 2005 17:25:43 +0900

るびきちです。

> Procについてはリファレンスを読むのが手っ取り早いと思います。
> 何に使うのかとかは書いてませんが、まあ普通は使いませんし、覚える必要もな
> いでしょう、たぶん。
> http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Proc

人によりけりだとは思いますが、自分はProcは結構好きです。
自分は配列やハッシュの値にProcを入れています。
つたない例ですがこんな感じですね。
場合場合に応じた処理をひとまとめにできるのがProcの魅力だと思っています。
if文やcase文でも書けますが、Procを使うと本体のコードに手を入れることなく
新しい処理を追加できます。

PROCS = [
  [/^test/, proc{|s| puts "TEST:#{s}"}],
  [/^no/,   proc{|s| puts "NO:#{s}"}],
  [/./,     proc{|s| puts "default:#{s}"}],
]

for s in %w[ testing foo ]
  PROCS.find{|re,| s=~re}[1].call(s)
end

Rubyに慣れないうちはまだよくわからないかもしれません。
慣れてきたらそのうち魅力がわかるでしょう:-)

るびきち☆
http://www.rubyist.net/~rubikitch/ ←Ruby大衆化計画@移転