#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型の数値データを定義するわけじゃなかった。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS