From: Tanaka Akira Date: 2009-07-30T02:53:52+09:00 Subject: [ruby-dev:38946] Re: [ruby-list:46234] Re: irbでの式展開中の動作について In article , keiju@ishitsuka.com (石塚圭樹) writes: >>irb(main):001:0> " >>irb(main):002:0" hi >>irb(main):003:0" #{ >>irb(main):004:0> 'a'.gsub("' >>irb(main):005:1" " >>irb(main):006:1> , '\\\' >>irb(main):007:1' ' >>irb(main):008:1> ) >>irb(main):009:0> } >>irb(main):010:0" " > > 上記を実行すると, > >>SyntaxError: (irb):6: syntax error, unexpected ',', expecting ')' >>, '\\\' >> ^ >>(irb):8: syntax error, unexpected ')', expecting '}' >>(irb):10: unterminated string meets end of file >> from /home/keiju/var/bin/irb:13:in `
' >> >> >>というエラーになります. rubyで直接実行しても同様です. これって, バグの >>ような気がするのですが? いかがでしょう? 式展開の話じゃないですね。 % ruby -v - <<'End' 'a'.gsub("' " , '\\\' ' ) End ruby 1.9.2dev (2009-06-22 trunk 23820) [i686-linux] -:3: syntax error, unexpected ',', expecting ')' , '\\\' ^ -:5: syntax error, unexpected ')', expecting $end つまり % ruby -v - <<'End' 'a'.gsub("" , "") End ruby 1.9.2dev (2009-06-22 trunk 23820) [i686-linux] -:2: syntax error, unexpected ',', expecting ')' , "") ^ ということで、カンマが行頭に来ていることが原因ですが、これっ て今はどうなんでしたっけ? -- [田中 哲][たなか あきら][Tanaka Akira]