或阿呆のブログ

巷では、武器商人@ダーツで通っていました。Python好き好きプログラマーです。芥川龍之介、太宰治が好きです。

PerlとPythonで1から10までのループを書いてみた。

スポンサードリンク

意外と、どちらにも長所と短所があるからなんともいえないんだけど、両方とも取り入れてくれないかなぁと思ってみたりして。そういう思想だと、やり方は1つじゃないというPerlのほうが合っているんだろうけど、スタイル的には堅めのPythonのほうが好きだからなんとも言えん。

たとえば、1〜10までループさせるにしても、書き方はいろいろとある。

Cみたいに、

for(i=0;i<10;i++)
{
    printf("%d ",i);
}

というふうには書きたくはない・・・。もはやこいつはコンパイルにすらかけたくない。

Perlの..演算子は意外と気に入っている。範囲指定でループさせられる。また、デフォルト変数の$_という仕組みも良いよね。ループさせるのにカウンタも要らないし、変数を宣言しなくても良いというのが、コンパイラ言語しかわからない人には理解出来ないだろう。スクリプト言語をかじったことがある人間だけがわかる、その感覚も大事にしたい。

$more loop.pl
use strict;
use warnings;

for(1..10)
{
    print $_ ;
    print " "     
}

$perl loop.pl
1 2 3 4 5 6 7 8 9 10 $

pythonでも、シンプルでスマートな方法でループをさせる仕組みがある。ただ、リストや辞書などのキー配列を使わず、数値を使う場合にはあまり良いイテレーションの仕方はわからない。range関数の戻り値を使ったループは、Pythonらしくていいかなとは思う。

>>> for i in range(1,11):
        print i , " ",

        
1   2   3   4   5   6   7   8   9   10  
>>> 

いろいろだね。