備忘録
Rubyをやっててたびたびはまる罠
string = "hogehogefoobar" string.gsub(/(hoge)*/, 'piyo') puts string
ってやって、出力がもちろん
hogehogefoobar
なのに、「置換されてねえじゃん!」ってなること。なんの(Javaか?)影響かはわからんけど、メソッドを実行したら、そのオブジェクトの中身が変更されるという錯覚をよくするのだけど、Rubyの場合は変更が適応されたオブジェクトを返すだけなので、ちゃんとそれを受け取ってあげなければいけない。このままだと投げっぱなしで、会話のキャッチボールが成立しないよパパ!
よって
string = "hogehogefoobar" string = string.gsub(/(hoge)*/, 'piyo') puts string
とやればOK