From: Toshiyuki Ogura Date: 2007-05-17T15:46:21+09:00 Subject: [ruby-list:43527] 正規表現のマッチングの書式について 小倉です。 お世話になっております。 正規表現のマッチングをするときの書式について教えてください。 通常、正規表現のマッチングは 正規表現 =~ 文字列 と書きますが、コードによっては、 文字列 =~ 正規表現 のように、左辺と右辺が逆になっていることがあります。 たとえば、次のようなコードです。 (『たのしいRuby』(初版)練習問題解答より) # a7-1.rb def printLibrary $:.each{|path| next unless FileTest.directory?(path) Dir.open(path){|dir| dir.each{|name| if name =~ /\.rb$/ puts name end } } } end このコードの、 if name =~ /\.rb$/ の部分では、正規表現が右辺にあります。 試しにこの行を if /\.rb$/ =~ name と書いて実行してみましたが、実行結果は同じようです。 正規表現 =~ 文字列 と書いても、 文字列 =~ 正規表現 と書いても、どちらでもいいということなのでしょうか。 よろしくお願いします。 -- 小倉 俊之