irb(main):001:0> "ts_id < what".gsub(/(=|<|>)\s?(\w+|\?)/,"#{$1} ?")
=> "ts_id ?"
irb(main):002:0> "ts_id < what".gsub(/(=|<|>)\s?(\w+|\?)/,"#{$1} ?")
=> "ts_id < ?"
Обратите внимание, что я использовал только что запущенный irb, где $1
было nil
. Это все из-за того, что при использовании .gsub(...,..$1..)
, при расчете "части справа от ,
" $1
еще не генерируется "левой частью из ,
".
Так сделайте это:
irb(main):001:0> "ts_id < what".gsub(/(=|<|>)\s?(\w+|\?)/,'\1 ?')
=> "ts_id < ?"
Или это:
irb(main):001:0> "ts_id < what".gsub(/(=|<|>)\s?(\w+|\?)/){"#{$1} ?"}
=> "ts_id < ?"