1

根据this document$MATCH是 的别名$&,我想用它来提高可读性。

但它在我的环境中不起作用。

'1234-4567'.match(/\d{4}-/){ $& } # => "1234-"
'1234-4567'.match(/\d{4}-/){ $MATCH } # => nil

我有什么误解?

4

1 回答 1

4

默认情况下不启用这些 [pseudo-] 全局变量的人名。你必须要求english使用它们。

'1234-4567'.match(/\d{4}-/){ $& } # => "1234-"
'1234-4567'.match(/\d{4}-/){ $MATCH } # => nil # !> global variable `$MATCH' not initialized

require 'english'
'1234-4567'.match(/\d{4}-/){ $MATCH } # => "1234-"
于 2017-06-27T08:40:41.977 回答