+-----中級編/3-----+

 


基礎の基礎、これが分かれば恐くない(2)

真里:加藤真里  シレ:シレスト=ノイデルファーム

シレ:さてさて今回は「変数」がテーマです。たぶん真里さんは高校などでxとかyとかいう方程式というものを学んだことはありますね?

真里:ぎ、ぎくっ。じ、じつはね、あたい、授業寝てたからよくわかんないの。なんかその、xとかyとかに何か数字が入って……っていうのは覚えてるんだけど。

シレ:……なんだかちゃんと勉強しなさいと叱りたい気分になってきたんですけど……まぁいいでしょう。さて、ここにy=3×x+5という式があったとします。x = 2だとするとyは何になりますか?

真里:えーっと……3×2+5で11。

シレ:そうですね、ではこれをPerlで書いてみましょう。
$x = 2;
$y = 3 * $x + 5;
……となります。$マークが入ってきたこと以外はまったく問題ないですね(ちなみに×は*、÷は/で代用します)。

真里:……で、それとさっき言った「ヘンスウ」っていうのは何が関係あるの?

シレ:それでは今のたった2行のプログラムを説明します。1行目は$x = 2;と書いてありますが、これは「xという入れ物に2を入れておいてね」という意味です。で、2行目は同じように解釈すると「yという入れ物に3×x+5の結果を入れておいてね」という意味で、ここで1行目でxには2がはいっていますから、yには3×2+5の結果、つまり11が入るわけです。

真里:……よーするにそのヘンスウっていうものは何かモノを入れておくための箱なのね。

シレ:そういうことです。$マーク+変数の名前、で変数が作れるわけです。もちろん数字だけじゃなく文字も、「バイナリデータ」と呼ばれる機械にしか理解できない奇怪なデータでも入ります。

真里:今のダジャレ?

シレ:(ぎくっ)……ま、まぁ、たまには言いたくなるときもありますよ。

真里:なんかオヤジギャグっぽかったけど気のせい??シレスト先生って実は老けてるとか。

シレ:じ、実はそうなのかも……ともかく……ちなみに、先ほどの1行目で$x = 'ABC';などと数字以外のものが入った場合は、エラーにはならずに(一部の場合を除き)たいてい0として扱われます。

真里:なんとなく思うんだけどさ。確かに$マークで入れ物が作れるのはわかったけど、1つの入れ物に1つだけしかモノが入らないんじゃ不便なんじゃない?例えばさ、タンスみたいにいっぱい引き出しがあるようなものもあってとか。

シレ:さすが勘がいいですね。確かにふつうの変数の他にも「ハッシュ」「配列」という、それこそ真里さんが言ったように「タンス型」の変数の形もあります。次回はこういうものの扱い方、中身の出し入れのしかたを学んでいきましょう。

真里:ねぇねぇ、勿体ぶらないでさ、ちょっとだけ教えて。

シレ:……仕方ありませんね。じゃあ書き方だけ。今回の$マークと区別するために、ハッシュは%、配列は@で表現します。
……ではまた次回お会いしましょう!

[次回に続く……]

 

←PREV | NEXT→

Return : Perl Top