たけ(tk)です。

 このMLのログを検索したら、「呼び出し元の binding」を得たいという需要
は結構あるみたいですね。

》[ruby-list:25304]localの方はbindingが必要ですが、これもどうしようもなさそうです。[ruby-list:29889] 石塚さんは呼び出し元のbindingを得るために、こんな手を使っていたような気がします。
》
》def  foo(s, &b)p eval(s, b)end

 『デスクトップリファレンス』p.34 には「binding」と「caller」が並んでい
るから、「caller_binding」も実現可能なんじゃないかと思ったりして・・。ス
タックから拾ってくるだけ、ってわけには行かないのかな?。これを実現するの
は難しいのでしょうか?。

 [ruby-list:29889] の「エレガントじゃない」(石塚さん言)方法を使うとこ
んなふうになるんでしょう。

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

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

 num = 1

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

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