0
我有健全的代碼塊一些,而無法理解的語法。我無法做出好的搜索。代碼是
keys.map { |k| k =~ /\./; $` }
什麼意思$`?我試着在控制檯用它玩,但沒有理解它是如何工作
我有健全的代碼塊一些,而無法理解的語法。我無法做出好的搜索。代碼是
keys.map { |k| k =~ /\./; $` }
什麼意思$`?我試着在控制檯用它玩,但沒有理解它是如何工作
當使用正則表達式匹配字符串,則$`當前賽前的字符串相匹配。像這樣:
irb> "hello world".match(/world/)
=> #<MatchData "world">
irb> $`
=> "hello "
我要補充Ruby的文檔以供參考:http://ruby-doc.org/core-2.0.0/doc/globals_rdoc.html
更多信息:
irb> "hello world".match(/world/)
=> #<MatchData "world">
irb> $`
=> "hello "
irb> $PREMATCH
=> nil
irb> require 'english'
=> true
irb> $PREMATCH
=> "hello "
irb>
感謝:如果您使用'english' library,該'可以用一句話預匹配替換您!正是我問 –
爲'Regexp'文檔列出了[特殊全局變量(http://ruby-doc.org/core-2.3.1/Regexp.html#class-Regexp-label-Special+global+variables )關於正則表達式。 – Stefan
在你的例子,你還可以通過引用它。['MatchData#pre_match'(http://ruby-doc.org/core-2.3.1/MatchData.html#method-i-pre_match) – Stefan