erlang アトム, タプル
むむむ。。。編集機能を「その場編集モード」から「編集画面モード」に変えたのですが・・・カテゴリの入力の仕方と、1日に2件以上投稿する方法が分からないです。
最初は、何回も新規投稿しようとして、先程記述した記事の編集画面へと飛ばされて、ポカーンとしていました。
仕方ないので、諦めて「その場編集モード」からタイトルとカテゴリだけを入力して下書き保存をし、編集画面モードに入っています。
誰か助けてください(つдT)
で、では、気を取り直して!
アトム
- 数値以外のさまざまな不変値を表す
- 小文字で始まり、英数字、アンダースコア、アットマークと続く
- 大文字や、英数字以外から始めたい場合は''を使う
1> true. true 2> true_@. true_@ 3> +. * 1: syntax error before: '.' 3> '+'. '+' 4> 'Sunday'. 'Sunday'
C言語とかで、最初に書く#defineみたいなものですね。
#define INVALID -1 #define FALSE 0 #define TRUE 1 #define SUNDAY 0
つまり、前回書いた↓はアトムと整数のパターン照合をしていたのです。
2> x = 1. ** exception error: no match of right hand side value 1
エラーになるわけです。
# 一瞬、「0って偽だったっけ?」と考え込んでしまったのは秘密です。
タプル
- 項目を1つにまとめる時に使う
5> {2, 3, 4}. {2,3,4}
- タプルを表現するアトムを最初の要素に入れる事が多い
6> P = {point, 2, 3}. {point,2,3}
- 入れ子も可能
1> Name = {name, hiroyuki}. {name,hiroyuki} 2> Height = {height, 173}. {height,173} 3> Person = {person, Name, Height}. {person,{name,hiroyuki},{height,173}}
取り出す
4> {person, {name, N}, {height, H}} = Person. {person,{name,hiroyuki},{height,173}} 5> H. 173 6> {_, {_, _}, {_, X}} = Person. {person,{name,hiroyuki},{height,173}} 7> X. 173
- 取り出したい位置に未束縛変数を置いたパターンを記述する
- "_"は無名変数と呼ばれる
- 1つのパターンの中で何度も使う場合でも、同じ値に束縛されない
- つまり、興味がない変数の代わりとして使う
- 1つのパターンの中で何度も使う場合でも、同じ値に束縛されない
正直めんどくさい。