C-g q [RET]
C-c a [RET]
> q().
> halt().
- 整数 (N進数)
- とても大きい数値演算もできる
- N進数表記がある N#数
> 16#cafe.
> 32#sugar.
> 2#100.
4
> 8#100.
64
> 16#100.
256
> 32#100.
1024
-
- 実験
- 数字として使える文字がアルファベットの z までなので 36 進数までしか表現できない
23> 36#0.
0
24> 37#0.
* 1: illegal base '37'
40> 36#z.
35
- 変数は単一代入、先頭は必ず大文字
- パターン照合 (パターンマッチ)
- アトム、先頭は小文字
- ただしシングルクォートで囲む場合はその限りではない
- シングルクォートで囲む必要のないアトムは囲まない表記をしたものと同一
- アトムは大局的
true, monday, twitter@kyanny, 'Monday'
> a =:= 'a'.
true
- タプル
- アトムでタグ付けする慣習
- 値を取り出すときはパターン照合
> Point = {point, 45, 10}.
{point,45,10}
> {_, X, Y} = Point.
{point,45,10}
> X.
45
> Y.
10
> [H|T] = L.
% (setq HEAD (car LIST))
% (setq TAIL (cdr LIST))
> []. % 空リスト
> L = [orange,banana].
[orange,banana]
> LIST = [apple|L]. % リストの先頭に要素を追加
[apple,orange,banana]
> L = [apple,orange,banana].
[apple,orange,banana]
> [X|Y] = L. % リストから要素を取り出すのもパターンマッチで
[apple,orange,banana]
> X.
apple
> Y.
[orange,banana]
> "Hello".
"Hello"
> [72,101,108,108,111].
"Hello"
> $H.
72
- 文字コードは Latin-1 (ISO-8859-1)
- f() でシェルの変数束縛をリセット