From: aito@...5nazha.yz.yamagata-u.ac.jp (Akinori ITO) Date: 1997-04-03T13:15:54+09:00 Subject: [ruby-list:2583] Re: a mailer written in ruby/Tk あ伊藤です。 tk に関して気付いたことを、もう2つほど。 (1) tkscrollbox.rb の delegate('DEFALUT', list) は DEFAULT のスペルミスですよね。 (2) TkObject のメソッド tk_call ですが、送られる文字列を { } で クォートして送るようになっています。ところが、その中に { } が入っていると、それがエスケープされたまま出力されてしまう ようです。そのため、TkText に例えば " { and } " と insert すると、 \{ and \} のように出力されてしまいます。(tcl のバージョンによっても違う かもしれません。私が使っているのは 7.5jp です。) これを避けるには、文字列のクォートを " " にして、 "\$ を エスケープしたほうがいいみたいです。例えば、こんな感じです。 *** /usr/local/lib/ruby/tkcore.rb Mon Mar 31 17:50:04 1997 --- tkcore.rb Thu Apr 3 13:13:35 1997 *************** *** 200,208 **** s = s.id else s = s.to_s ! s.gsub!(/[{}]/, '\\\\\0') end ! "{#{s}}" end } str += " " --- 200,208 ---- s = s.id else s = s.to_s ! s.gsub!(/["\\\$]/, '\\\\\0') end ! "\"#{s}\"" end } str += " "