Ruby 初心者スレッド Part 16
■ このスレッドは過去ログ倉庫に格納されています
0377デフォルトの名無しさん
2007/12/26(水) 05:18:36class Hoge
def initialize(hash)
@table = hash
end
def [](str)
@table.each_pair{|reg, val|
return val if reg =~ str
}
return nil
end
end
foo = Hoge.new({/f.*/ => "Foo", /fo.*/ => "ふ〜", /b.*/ => "Bar"})
p foo["a"]
p foo["b"]
p foo["f"]
p foo["fooooo"] # /f.*/, /fo.*/ でマッチ
複数の hash のキーになってる正規表現の表す範囲は重複しないと仮定。
■ このスレッドは過去ログ倉庫に格納されています