The Python Challenge on Ruby/Perl
ちなみにこれをRubyで書くと、
Perlではパターンマッチング部分を
i=0
while (l=gets) do
i=1 if l =~ /<!--/
i=0 if l =~ /-->/
l.split(//).each{|e|print e if e =~ /[a-zA-Z :]/} if i==1
end
と書いた場合と、
$i=1 if $_ =~ /<!--/;
と書いた場合、挙動がいっしょなのに、Rubyで同箇所を
$i=1 if(grep(/<!--/,$_));
のように書くと、上のコードと挙動が異なる!!111ぬぬ
i=1 if l.grep(/<!--/)
これは両言語のgrepの仕様差異によるものだ。
次エントリに続く。