実行順序

見るともなく古いファイルを見ていたら、変なコードを見つけた。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
sub get_1 {print 'a'; 1;}
sub get_2 {print 'b'; 2;}
sub get_3 {print 'c'; 3;}
print get_1;
print get_2;
print get_3;
print "\n";
print "-----\n";
print get_1,
      get_2,
      get_3,
      "\n";
print "-----\n";

なんだろう?と思って実行してみてびっくりした。

どこかで見た記憶があったので探してみたら、「a geek - perlの評価順」だった。

同じネタで何度もびっくりしてしまうのは、記憶力の欠如ですか?

1
2
3
4
a1b2c3
-----
abc123
-----
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy