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.