#author("2019-08-03T01:58:54+00:00","default:sagasite","sagasite")
[[プログラミングの基礎]] > 第3章 変数の定義
*3.2 変数定義の構文 [#wb1dc3c0]
OCamlで変数を定義するには以下の構文を使います。
let 変数名 = 式
(例)
# let pi = 3.1415 ;;
val pi : float = 3.1415
**OCamlの変数名のルール [#c846545b]
***先頭は小文字 [#j5337bb6]
OCamlの変数の名前は、先頭の文字をアルファベットの&color(red){小文字};にしなければなりません。
***変数と構成子の区別 [#vf1bcce4]
これは「変数」と「構成子」を区別するためです。
構成子の名前は、先頭の文字をアルファベットの&color(red){大文字};にしなければならない、というルールがあります。
(構成子については「[[17.1 バリアント型>Basic-of-programming_17-1]]」を参照)
***2文字目以降 [#udb64c47]
変数の名前の2文字目以降は、
-アルファベットの大文字
-アルファベットの小文字
-数字
-_
などが自由に使えます。
**変数の使用例 [#gaa6fd74]
(例)アルバイトの時給計算
-時給: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円と計算できました。
***時給の変更 [#pf9df3e7]
時給を1500円から1600円に変更する場合は、変数「jikyu」を変更するだけでOKです。
# let jikyu = 1600 ;;
val jikyu : int = 1600
# (time_A * jikyu) + (time_B * jikyu) + (time_C * jikyu) ;;
- : int = 134400
3人に支払うアルバイトの給与総額は、134400円と計算できました。
*練習問題 [#zb8f8b07]
(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型の数値データを定義するわけじゃなかった。