Template = 'This is #{url_code}.'
  eval "%Q!#{Template}"
上のように文字列の展開をevalするまで止めておいた。
まあ、だいたい良かったのだがeval処理のなかでエラーになるとメッセージがはっきりしなくてデバッグがしにくい。
これを下記のようにsprintfを使うことでエラーの場合のチェックができるようにした。
Template = 'This is %s.' sprintf(Template, url_code)少しどの部分に何の値を設定するかわかりにくくなるが、はっきりしないエラーメッセージが出るよりはましである。
21:48:36 shelby:~$ rppsd ruby> ./requestheader.rb:120: [BUG] Segmentation fault ruby 1.6.5 (2001-11-13) [i386-linux] /home/kbttshy/bin/rppsd: line 11: 15933 アボートしました ruby /home/kbttshy/rppsd/src/ppsd 00:22:33 shelby:~$