From: Noriyuki Suzuki Date: 2001-03-08T18:41:43+09:00 Subject: [ruby-list:28593] Re: sub の実行で予期せぬ動作 解決です。 非常にわかりやすい回答で助かりました。 ありがとうございました。 On Thu, 8 Mar 2001 18:04:44 +0900 "Nobuyoshi.Nakada" wrote: > なかだです。 > > At Thu, 8 Mar 2001 17:52:07 +0900 > Noriyuki Suzuki wrote: > > [sub.rb] > > --- > > text = ARGV[0] > > p text > > html = "
TEXT
\n" > > html.sub!("TEXT", text) > > print html > > exit > > --- > > 実行結果 > > $ ruby sub.rb "a\'b" > > "a\\'b" > >
a
> > b > > String#sub! の第二引数中の \' は $' に置換されます。 > > "
"       "TEXT"       "
\n" > ↓ パターンマッチ > $` $& $' > ↓ 置換 > $` "a\'b" $' > ↓ \' を置換 > $` "a" $' "b" $' > ↓ 展開 > "
" "a" "
\n" "b" "\n" > > > Goalとしては、 > >
a\'b
> > と出力されて欲しいのですが、いろいろと試行錯誤しても > > この問題の良い回避の方法が思いつきませんでした。 > > html.sub!("TEXT") {text} > > -- > --- 僕の前にBugはない。 > --- 僕の後ろにBugはできる。 > 中田 伸悦 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Noriyuki Suzuki TurboLinux Japan http://www.turbolinux.co.jp/ mailto:noriyuki@turbolinux.co.jp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~