3 章 : 式に名前をつける
前章では、コンピュータのプログラミング言語で ネストされた 式を書きました。
この章では、式に名前をつける方法を学びます。
しかし、その前に、なぜ式に名前をつけることが大切なのでしょうか?その理由の 1 つは、式に名前をつけないとコンピュータ・プログラミングが急に混乱することがあるからです。
さらに、式に名前をつけるとコンピュータ・プログラミングはより整理されます。
問題点:式に名前がないと混乱することがある
この式を見てください
(+ (* (+ 3 4) 7) (* (+ 3 4) 9) (* (+ 3 4) 5))
(+ 3 4)
という式が 3 回繰り返されているのがわかりますか?
この繰り返しが、この式を非常に分かりにくくしているのです。
解決策
この混乱に対する解決策は、式 (+ 3 4)
に名前をつけて、式そのものではなくその名前を使うことです。
式に名前をつけるには、def
を使います。
(def a (+ 3 4))
とりあえず、#'cljs.user/a
は気にしないでください。
(+ 3 4)
の代わりに a
を使うと、私たちの式はよりシンプルになります。
(+ (* a 7) (* a 9) (* a 5))
def
の使い方
def
はコンピュータに対して 式
に 名前
をつけるように伝える 操作
です。(def
という単語は define
の略語です)
def
を使うには、前章で +
や *
と同じように、第 1 章で紹介した 式の 3 ステップ で式を作ります。
-
まず、コンピュータに何かを実行させたいことを伝えます。そのためには、
( )
というカッコを使います。 -
次に、実行させたい「操作」をコンピュータに伝えます。
-
最後に、
def
操作のために、くわしくコンピュータに伝えます。1 番目のオペランドは式に与えたい名前
で、2 番目のオペランドは名前を与えたい式
です。
それらをすべて組み合わせると、次のようになります。
(def a (+ 3 4))
3 つの部分からなる式がわかりますか?
()
def
- 第 1 オペランド:
a
, 第 2 オペランド:(+ 3 4)
おめでとうございます。あなたは初めて 式 に名前をつけましたね。
例えば、a
を b
に、c
をあなたの名前におきかえてみてください。
また、(+ 3 4)
を別の式、(* 6 7)
や (+ (* 7 2) (* 2 9))
におきかえてもいいです。
名前を使う
一度、式に名前をつけると、どこでもその名前を使うことができるようになります。
ここでは、 my-favourite-number
を 18
と定義しています。
(def my-favourite-number 18)
そして、今度は my-favourite-number
に 10
を追加します。
(+ my-favourite-number 10)
複雑な式に戻る
さて,先ほどの複雑な式をもう一度書いてみましょう.(+ (* (+ 3 4) 7) (* (+ 3 4) 9) (* (+ 3 4) 5))
:
(def my-number (+ 3 4))
(+ (* my-number 7) (* my-number 9) (* my-number 5))
この方がずっとシンプルに見えますか?
もちろん、元の式と全く結果は同じです。
(+ (* (+ 3 4) 7) (* (+ 3 4) 9) (* (+ 3 4) 5))
練習問題
もし、ある練習問題が難しかったら、式の 3 ステップ をもう一度読んでみてください。
A. (4 + 7 + 8)*3 + (4 + 7 + 8)*7 + (4 + 7 + 8)*9
を計算してください。
()
361
と表示されるはずです。
B. (2*3 + 4)*3 + (2*3 + 4)*7 + (2*3 + 4)*9
を計算してください。
()
190
と表示されるはずです。
C. 2*3 + 4*5
を計算し、その結果に 4 + 5
をかけてください。
()
234
と表示されるはずです。
C. 2*3 + 4*5
を計算し、その結果に 4 + 5
をかけ、その結果に 19
をかける。
()
4446
と表示されるはずです。
Send us a screenshot with your programs to viebel@gmail.com.