20. 変数名は大文字で始まる英数字 とアンダースコア("_") Erlangシェルで実験。 C:n_vitrorlang>erl Eshell V5.6.3 (abort with ^G) 1> Var1 = 100. 100 2> Var1_2 = 200. 200 3> var2 = 300. ** exception error: no match of right hand side value 300 4> Var2-1 = 400. * 1: illegal pattern OK! NG!
21. 変数への代入は 一度だけ ! Erlangシェルで実験。 9> Var1 = 100. 100 10> Var1 = "ABCD". ** exception error: no match of right hand side value "ABCD" 11> b(). Var1 = 100 ok
26. 複数の変数をひとまとめにする単位 C言語の構造体に近いが、メンバに名前がない。 配列的な操作は出来ない。 データの「型」に近い。 タプルの作成例:↓ 1> X = {1, "hello", world }. {1,"hello",world} 2> Y = { {orange, 100}, {apple, 300} }. {{orange,100},{apple,300}}
27. タプルの値の取得(1) パターンマッチ(重要) 3> {V1, V2} = X. ** exception error: no match of right hand side value {1,"hello",world} 4> {V1, V2, V3} = X. {1,"hello",world} 5> V1. 1 6> V2. "hello" 7> V3. world
28. タプルの値の取得(2) パターンマッチ(重要)その2 9> V1 = { apple, 100 }. {apple,100} 10> V2 = { orange, 200 }. {orange,200} 11> { apple, Price } = V1. {apple,100} 12> { orange, Price_orange } = V1. ** exception error: no match of right hand side value {apple,100} 13> { orange, Price_orange } = V2. {orange,200} 14> { Price, Price_orange }. {100,200}