プログラミングの基礎 > 第3章 変数の定義
3.2 変数定義の構文 †
OCamlで変数を定義するには以下の構文を使います。
let 変数名 = 式
(例)
# let pi = 3.1415 ;; val pi : float = 3.1415
OCamlの変数名のルール †
先頭は小文字 †
OCamlの変数の名前は、先頭の文字をアルファベットの小文字にしなければなりません。
変数と構成子の区別 †
これは「変数」と「構成子」を区別するためです。
構成子の名前は、先頭の文字をアルファベットの大文字にしなければならない、というルールがあります。
(構成子については「17.1 バリアント型?」を参照)
2文字目以降 †
変数の名前の2文字目以降は、
- アルファベットの大文字
- アルファベットの小文字
- 数字
- _
などが自由に使えます。
変数の使用例 †
(例)アルバイトの時給計算
- 時給:1500円
- Aさんの労働時間:25時間
- Bさんの労働時間:28時間
- Cさんの労働時間:31時間
l# let jikyu = 1500 ;; val jikyu : int = 1500 # let time_A = 25 ;; val time_A : int = 25 # let time_B = 28 ;; val time_B : int = 28 # let time_C = 31 ;; val time_C : int = 31 # (time_A * jikyu) + (time_B * jikyu) + (time_C * jikyu) ;; - : int = 126000
3人に支払うアルバイトの給与総額は、126000円と計算できました。
時給の変更 †
時給を1500円から1600円に変更する場合は、変数「jikyu」を変更するだけでOKです。
# let jikyu = 1600 ;; val jikyu : int = 1600 # (time_A * jikyu) + (time_B * jikyu) + (time_C * jikyu) ;; - : int = 134400
3人に支払うアルバイトの給与総額は、134400円と計算できました。
練習問題 †
(p.16) 問題3.1
# let e = 2.7182 ;; val e : float = 2.7182
# let positive = e > 0.0 ;; val positive : bool = true
# let seconds_of_day = 60 * 60 * 24 ;; val seconds_of_day : int = 86400
# let name = "茗荷谷" ;; val name : string = "茗荷谷"
※最初(2)の問題の意味を取り違えて悩んでいたが、2値を比較した判定結果=bool型のデータを保存する変数「positive」を定義する、という意味だった。
2.7182より大きい数値を保存する=float型の数値データを定義するわけじゃなかった。