String#splitと$1
String#splitで$1や$2の値がリセットされます。
str = "hoge-foo/var" if str =~ /([a-z\-]+)\/([a-z\-]+)/ puts $1.split("-") puts $2 end puts "---" if str =~ /([a-z\-]+)\/([a-z\-]+)/ puts $2 puts $1.split("-") end
出力:
hoge foo nil --- var hoge foo
ちょっと、はまりました。