Глобальные переменные Regex не устанавливаются

Я наткнулся на что-то, что кажется необычным, и мне было интересно, может ли кто-нибудь объяснить, почему.

1.8.7 :001 > some_str = "Hello World"
 => "Hello World" 
1.8.7 :002 > some_str.try(:match, /^(\w*)/)
 => #<MatchData "Hello" 1:"Hello"> 
1.8.7 :003 > $1
 => nil 
1.8.7 :004 > some_str.match(/^(\w*)/)
 => #<MatchData "Hello" 1:"Hello"> 
1.8.7 :005 > $1
 => "Hello" 

Я не уверен, почему глобальная переменная $1не устанавливается в первый раз, а устанавливается во второй раз. Любые идеи?

5
задан iblue 11 July 2012 в 21:59
поделиться