我想在Rails中使用英文寶石,所以我可以訪問$LAST_MATCH_INFO
,這是$~
的不太神祕的版本。不過,儘管要求英文,$LAST_MATCH_INFO
總是nil
,而$~
仍然有效。'英語'全局變量在Rails中不起作用
這是我從irb
預期行爲:
'foo' =~ /o/ # => 1
$~ # => #<MatchData "o">
$LAST_MATCH_INFO # => nil
require 'english' # => true
$LAST_MATCH_INFO # => #<MatchData "o">
$LAST_MATCH_INFO == $~ # => true
這是正常的行爲,從rails console
:
'foo' =~ /o/ # => 1
$~ # => #<MatchData "o">
$LAST_MATCH_INFO # => nil
require 'english' # => false
# (Means it's already been required)
$LAST_MATCH_INFO # => nil
$LAST_MATCH_INFO == $~ # => false
它工作在irb
,但不是在rails console
,或在Web控制檯。請注意,require 'english'
返回false
,因爲該寶石已經加載,但它不起作用。
我錯過了什麼?