公開日:2008.06.23
たまには一休み
Hey, Scripting kiddy! は皆様のPCを通じた悩みなどをScript kiddyのスクリプトで解決しようという企画です。
閑話休題、今回はPerlとVBSを交えてPythonについて語ります。何故かって?宿題だからさ。
PerlとPythonと似通った点は?
- スクリプト言語であること
- 型が動的に決まる
- 書きやすさを追求したゆるい言語仕様
VBSは書きやすさの面で劣るけど、ほかは一緒。
PerlとPythonの文法
Perl → セミコロンで文の終わり、{}でブロックを表現
VBS → 改行で文の終わり、予約語 - 予約後でブロックを表現
Python → 改行で文の終わり、ブロックはインデントの深さで表現
VBSは _ で改行をエスケープ、Pythonは ¥ で改行をエスケープできる。
下のPerlスクリプトを、
1: $i=1;
2: while (<>) {
3: $i++;
4: print "$i: $_";
5: }
VBSで書くと、
1: i = 0
2: Do Until WScript.StdIn.AtEndOfLine
3: i = i + 1
4: strInput = WScript.StdIn.ReadLine()
5: WScript.StdOut.WriteLine i & ": " & strInput
6: Loop
Pythonで書くと、
1: i = 0
2: for line in sys.stdin:
3: i += 1
4: print str(i) + ": " + line,
VBSって面倒やなぁ。 そしてPerlよりPythonの方が意味が理解しやすいですね。
※注 これは、Microsoftがやっている「Hey,scripting guy!」のパクリ企画です。 ご意見、ご要望はお問い合わせよりお願いします。
