如何使用“$MATCH”作为“$&”的​​别名

How to use '$MATCH' as an alias of '$&'

根据 this document$MATCH$& 的别名,为了便于阅读,我想使用它。

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

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

我误会了什么?

默认情况下不启用那些[伪]全局变量的人名。您必须要求 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-"