我注意到大禮包庫一行代碼:
label_with_first_letters_capitalized = t(options[:label]).gsub(/\b\w/)#{$&.upcase}
有人能告訴我什麼是「$ &」是什麼意思?謝謝!
我注意到大禮包庫一行代碼:
label_with_first_letters_capitalized = t(options[:label]).gsub(/\b\w/)#{$&.upcase}
有人能告訴我什麼是「$ &」是什麼意思?謝謝!
這是reference to some of those special variables allowed in ruby。基本上,這個返回最後的模式匹配。
從鏈接頁面:
$&
包含從以前成功的模式匹配匹配的字符串。>> "the quick brown fox".match(/quick.*fox/) => #<MatchData:0x129cc40> >> $& => "quick brown fox"
在我的測試,它似乎是最後一場比賽是gsub
了。因此,舉例來說,如果我有這樣的:
"Hello, world!".gsub(/o./, "a")
$&
將被設置爲or
,因爲這是gsub
遇到的最後一場比賽。
$&
是最後一次成功的正則表達式匹配的字符串。例如:
foobar = "foobar"
regex = /b.{2}/
if regex.match(foobar) then
puts $& # -> bar
end
此鏈接不好 – ebrohman
@ebrohman謝謝,鏈接到wayback歸檔版本。 – drharris
@drharris:也可以直接在答案中包含頁面的相關部分? –