サーチ…


構文

  • [ヘッド| tail] = [1,2,3、true]#パターンマッチングを使用してコンスセルを分割することができます。これはheadを1に、tailを[2、3、true]に割り当てます。

  • %{d:val} =%{d:1、e:true}#valに1を代入します。 lhsのdは本当にパターン%{:d => _}を作成するために使用されるシンボルなので、変数dは作成されません(ハッシュロケット表記法は、マップのキーとして非シンボルをキーとして持つことができますルビーで)

備考

ここで私たちにどのようなデータ構造があるかについて簡単な説明があります。

配列のデータ構造が必要な場合は、たくさんの書込み用リストを使用することになります。あなたが読んでたくさん読んでいるのであれば、タプルを使うべきです。

マップに関しては、単にキーバリューストアをどのように行うのかということだけです。

リスト

a = [1, 2, 3, true]

これらはリンクリストとしてメモリに格納されることに注意してください。 Id estこれは一連のコンスセルで、head(List.hd / 1)はリストの最初の項目の値であり、tail(List.tail / 1)は残りのリストの値です。

List.hd(a) = 1
List.tl(a) = [2, 3, true]

タプル

b = {:ok, 1, 2}

タプルは、他の言語の配列と同等です。それらはメモリに連続して格納されます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow