Ruby 初心者スレッド Part 33
■ このスレッドは過去ログ倉庫に格納されています
0765デフォルトの名無しさん
2010/01/18(月) 22:55:11data = {/key/ => lambda{|m| "<#{m}>"}}
…
data.each_pair do |re, p|
file.gsub!(re){|m| p.call(m)}
end
p file #=> key が <key> になってる
というような、
{正規表現 => キーのマッチ結果を便利に利用した結果の返り値またはただの文字列}
というデータを用いた連続置換をしたいのです
それで、data は外部から自由に与えたいのです
でも、よく考えたら lambda を作った時点では gsub の $1 も \1 もまだ無いから利用できないわけで
なにかうまい方法ないですか
eval ならなんとかなると思ったんだけど普通の置換後に使いたいだけの文字列も eval してしまいます
■ このスレッドは過去ログ倉庫に格納されています