スクリプトの決まりごと

 ここでは『インタラクティブシェルとスクリプトファイル』の中で説明した3行のプログラムのうち、1行目と3行目について解説します。
インタラクティブシェルとスクリプトファイルに書いてあるプログラムは次の3行です。

# coding: shift-jis
print "Hello, World!!"
raw_input()

 日本語コード

 日本人はたいてい日本語を話し、日本語で考えます。アメリカ人だと英語ですね。じゃあコンピュータは?というと人間に見える形にするときに、人間に分かりやすい言語を使用しますが、通常は文字を数字に置き換えて扱います。その文字を数字に置き換えるコードについて説明します。

ASCIIコード
 コンピュータが文字を扱う上で基礎となるコードです。コンピュータがアメリカで発達した経緯から、英語圏で扱うために作られたもので、英語のアルファベットの大文字と小文字をサポートしています。全部で256個あります。
 あれ?って思いません。私たち日本人が小学校で習う漢字は1000程度です。ということはASCIIコードで日本語を扱おうとしても全然足りません。そこでいろんな人が各々で自分たち用にコードを決めることになります。

EUC-JPコード
 UNIXで開発され、使用されているコードです。

shift-jisコード
 今のWondowsの前身であるMS-DOSというOS(オペレーション・システム)で使用されていたコード。現在のWindowsは内部ではUTF-16コードで扱っていますが、互換性の問題で何も指定されないときは、テキストファイルをshift-jisとして保存されます。

ISO-2022-JPコード
 いわゆるJISコードと言われるものです。インターネットが始まった頃、標準のコードになっていました。でもISO-2022-CN(中国語)、ISO-2022-KR(韓国語)など国ごとに別々のコードが存在するという問題があります。

ユニコード(UTF-8、UTF-16)
 ISO-2022-JPの問題も踏まえて、全世界共通のコードを作り上げました。UTF-8は今のインターネットの標準のコードになっています。

 スクリプトファイルで使用している日本語コード

 ということで一行目"# coding: shift-jis"はIron Pythonに「このスクリプトファイルはshift-jisで書かれていますよ。」って教えています。他にこんな書き方があります。

# coding: euc-jp
# coding: iso-2022-jp
# coding: utf-8

 他にこの# coding・・・という行は1行か2行目に記載するという決まりがあります。
さて、本当のことをいうと"utf-8"を使って書くほうが、これからの時代に合っていることなのですが、WindowsではまだShift-JISが標準ですので、Shift-JISで私は書いていきますが、自分の好みのコードを使用してかまわないと思います。でもできるだけ統一しておいた方がよいと思います。

追記:<コメント>
 1行目と2行目以外で行の頭に"#"をつけるとIron Pythonは行の内容を無視します。
これで、"#"の後は好きなことがかけます。通常プログラマ同士の意思の確認のため、コードの目的やコードを読むためのヒントが書かれており、そういう行をコメントといいます。

 3行目"raw_input()"の意味

 3行目の記載が無い状態でとスクリプトファイルをダブルクリックすると、IronPythonはスクリプトファイルの内容をさっさと実行してしまい、すぐにWindowを消してしまいます。パソコンは1/1000秒単位で動いていますので、とても人間のペースで待ってられないんです。これでは、結果を確認したいときなどに不便です。そこで、Iron Pythonに「Enterキーを押すまで待っていなさい。」という意味で、3行目が書かれています。

 本当にやらせたいことは2行目だけ

 これまでの説明で1行目と3行目の意味は分かりましたか?これからいろんなプログラムを打っていきますが、基本的にこのスタイルを使って2行目の内容を変えながら、説明していきたいと思います。