Я даже не знаю, какой заголовок дать этому.Может кто-нибудь объяснить мне, что, черт возьми, здесь происходит?Это упрощение того, что я действительно делаю, конечно, если бы это было так, было бы проще сделать это, но почему парсер ruby 1.9.x испытывает проблемы с чем-то, что работает в 1.8.x и кажется простым?
(rdb:2) struct = Struct.new(:foo, :bar).new
(rdb:2) p struct.send( ( "foo".to_s +'=') , "VALUE")
NoMethodError Exception: undefined method `+@' for "=":String
ЧТО?Но это прекрасно работает:
(rdb:2) struct.send( ("foo".to_s) +'=') , "VALUE")
А, подождите, так что, думаю, теперь нужен пробел между оператором '+' и вторым значением?
(rdb:2) p struct.send( ( "foo".to_s + '=') , "VALUE")
Какого черта?Ruby 1.8.x был в порядке с этим сейчас.Подождите, ruby 1.9.x поддерживает унарные префиксные операторы или что-то еще, и он говорит, что у строки нет унарного префиксного оператора "+", если я не оставлю пробел в?
HUH?Кто-нибудь может это прояснить?