Hatena::Grouperlang

msyktの日記

 | 

2013-10-30

2.8 アトム(p.19)

01:13

アトムは小文字で始まり、その後に英数字、アンダースコア(_)、アットマーク(@)の列が続く。

Eshell V5.10.1  (abort with ^G)
1> is_atom(aB).
true
2> is_atom(Ab).
* 1: variable 'Ab' is unbound
3> is_atom(1a).
* 1: syntax error before: a
3> is_atom(_a).
* 1: variable '_a' is unbound
4> is_atom(@a).
* 1: syntax error before: '@'

英文字は全部小文字である必要があるのだと思っていたが、「aB」もアトムとして認識された。英文字の小文字で始まっていればアトムと考えて良さそう。

アトムは単一引用符(')で囲んで示すこともできる。引用符で囲む方法を使えば、大文字で始まるアトム(そのままでは変数として解釈されてしまう)や、英数字意外の文字を含むアトムを作れる。例えとしては、'Monday'、'Tuesday'、'+'、'*'、'an atom with space'など。引用符で囲む必要のないアトムを引用符で囲んでも構わない。'a'とaはまったく同じ意味になる。

Eshell V5.10.1  (abort with ^G)
1> is_atom('Monday').
true
2> is_atom('+').
true
3> is_atom(+).  
* 1: syntax error before: ')'
3> is_atom('an atom with space').
true
4> 'a' == a.
true

スペース含めても良いっていうのが面白い。'so tired'や'very sad'という文芸チックなアトムが書ける。

プログラミングErlang

プログラミングErlang

ゲスト



トラックバック - http://erlang.g.hatena.ne.jp/msykt/20131030
 |