Dlaczego przechwytywanie nazwanych grup w Ruby powoduje błędy „niezdefiniowanej zmiennej lokalnej lub metody”?

Mam problemy z nazwanymi przechwytami w wyrażeniach regularnych w Ruby 2.0. Mam zmienną łańcuchową i interpolowane wyrażenie regularne:

str = "hello world"
re = /\w+/
/(?<greeting>#{re})/ =~ str
greeting

Wywołuje następujący wyjątek:

prova.rb: 4: in<main>': undefined local variable or methodgreeting 'dla main: Object (NameError)
zwrócona powłoka 1

Jednak wyrażenie interpolowane działa bez nazwanych przechwytów. Na przykład:

/(#{re})/ =~ str
$1
# => "hello"

questionAnswers(3)

yourAnswerToTheQuestion