たけ(tk)です。

[ruby-list:33745] Re: 文字列の式展開について にて 
Masao Mutoh <mutoh / highway.ne.jp> さん 曰く:
》さらに言えば、#のエスケープ無しで使えたらもっとうれしいです。
》
》 print(GetText._("The value is #{num}\n"))

  こんな感じ(↓)のことをしたいわけですね。

module GetText
 @hash = Hash.new
 @hash['The value is #{$num}\n'] = '値は#{$num}です。\n'

 def GetText._(str)
   eval('"'+@hash[str]+'"')
 end
end

######################

 $num = 1
 print(GetText._('The value is #{$num}\n'))  # 値は1です。

−−

 「'」でくくれば式展開はしない。

 式展開をした後ではハッシュのキーにマッチしなくなる。

 ライブラリ側で式展開すると、呼び出し側のスコープと異なるために、グロー
バル変数を使わざるをえなくなる。

 という問題に整理されそうです。

 * GetText を実現するには format を使うしかないと思う。

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武