Почему захват именованных групп в Ruby приводит к ошибкам «неопределенная локальная переменная или метод»?
У меня проблемы с именованными перехватами в регулярных выражениях в Ruby 2.0. У меня есть строковая переменная и интерполированное регулярное выражение:
str = "hello world"
re = /\w+/
/(?<greeting>#{re})/ =~ str
greeting
Возникает следующее исключение:
prova.rb: 4: в<main>': undefined local variable or method
приветствие для главного: Object (NameError)
оболочка вернулась 1
Однако интерполированное выражение работает без именованных захватов. Например:
/(#{re})/ =~ str
$1
# => "hello"