或阿呆のブログ

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

1〜10までループさせるとき。Perlの1..10が使いたい・・・。

なるべく行数が少なくて、読みやすくて、しかも書きやすい。そんな書き方がしたよね。

1〜10までループさせ、改行付でその数字を表示する。

これを、C,Perl,Pythonで書いてみた。書き方が複数ある場合は、もっとも簡潔と思われるものを使った。

C

サンプルコード
#include <stdio.h>

int main(void)
{
	int i;
	for(i=0;i<=10;++i)
	{
		printf("%d\n",i);
	}
}

プログラミングやっていると、もっとも一般的な書き方だと思われる。だけど、ループカウンタのint iを宣言するのが面倒臭い。for文がちょっとくどくないか?など疑問はある。

実行結果
$./loop
0
1
2
3
4
5
6
7
8
9
10

Perl

サンプルコード
for(1..10)
{
	print $_,"\n";
}

for(1..10) これ最高だよね!!!それから、特殊変数$_ってのがいい。変数を宣言しなくてもいいしさ。

実行結果
$perl looptest.pl 
1
2
3
4
5
6
7
8
9
10

Python

サンプルコード
>>> for i in range(0,11):
...     print i

行数的には一番短くて済む。変数の宣言もいちいちしなくてもいいし。が、range(0,11)がちょっとわかりづらいんだよなぁ。。。改行を入れるのに、\nを書かなくてもいいのも好きな実装。

実行結果
... 
0
1
2
3
4
5
6
7
8
9
10

結論

Perlの1..10はちょっと羨ましい。

でも、やっぱりPythonが好きなんだけど・・・。

初めてのPython 第3版

初めてのPython 第3版