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:~$