Да, такое же поведение в более высокой версии Ruby. (Я тестировал Ruby 2.2).
Это из-за Ruby's operator precedence.
Чтобы обойти эту проблему, вы можете использовать круглые скобки в случае <<
:
string << method("remove reviewer")
Затем он должен работать и не получите синтаксическую ошибку.
Или, чтобы сделать его последовательным, вы можете использовать скобки для обоих из них:
string += method("value")
string << method("remove reviewer")
Infact, настоятельно рекомендуется использовать круглые скобки ()
для вызовов методов, чтобы избежать таких ситуаций, как тот, который вы» re спрашивайте. Для получения дополнительной информации отметьте this post.
Да, такое же поведение в более высокой версии Ruby. (Я тестировал Ruby 2.2) –