Я заметил одну строку кода в библиотеке веселья:
label_with_first_letters_capitalized = t(options[:label]).gsub(/\b\w/)#{$&.upcase}
Может кто-нибудь сказать мне, что означает "$ &"? спасибо!
Вот ссылка на некоторые специальные переменные, разрешенные в ruby . По сути, этот возвращает то, что было последним совпадением с шаблоном.
со связанной страницы:
$& содержит сопоставленную строку из предыдущего успешного сопоставления с образцом. >> "the quick brown fox".match(/quick.*fox/) => #<MatchData:0x129cc40> >> $& => "quick brown fox"
$& содержит сопоставленную строку из предыдущего успешного сопоставления с образцом.
$&
>> "the quick brown fox".match(/quick.*fox/) => #<MatchData:0x129cc40> >> $& => "quick brown fox"
В моем тестировании это был последний матч, который получил gsub. Так, например, если у меня есть это:
gsub
"Hello, world!".gsub(/o./, "a")
$& будет установлен на or, потому что это последнее совпадение, с которым gsub столкнулся.
or
$& - это строка, которая соответствует последнему успешному регулярному выражению.Например:
foobar = "foobar" regex = /b.{2}/ if regex.match(foobar) then puts $& # -> bar end