Zauważyłem jedną linię kodu w bibliotece spree:
label_with_first_letters_capitalized = t(options[:label]).gsub(/\b\w/)#{$&.upcase}
może ktoś mi powiedzieć, co robi „$ &” oznacza? dzięki!
Zauważyłem jedną linię kodu w bibliotece spree:
label_with_first_letters_capitalized = t(options[:label]).gsub(/\b\w/)#{$&.upcase}
może ktoś mi powiedzieć, co robi „$ &” oznacza? dzięki!
Oto reference to some of those special variables allowed in ruby. Zasadniczo ten zwraca wszystko, co było ostatnim dopasowaniem wzorca.
Od połączonej strony:
$&
zawiera dopasowany ciąg z poprzednim wzorem udanego meczu.>> "the quick brown fox".match(/quick.*fox/) => #<MatchData:0x129cc40> >> $& => "quick brown fox"
W moich testów, wydaje się być ostatni mecz, który gsub
dostał. Tak na przykład, jeśli mam to:
"Hello, world!".gsub(/o./, "a")
$&
będzie ustawiony na or
, ponieważ jest to ostatni mecz, który gsub
spotkałem.
$&
to ciąg, który został dopasowany przez ostatnie pomyślne wyrażenie regularne. Na przykład:
foobar = "foobar"
regex = /b.{2}/
if regex.match(foobar) then
puts $& # -> bar
end
Ten link jest zły – ebrohman
@ebrohman dzięki, aktualizowany link Wayback wersję archiwum. – drharris
@drharris: czy w odpowiedzi można również umieścić odpowiednią część strony w odpowiedzi? –