🦓

キーワードリスト -- YouTube チャンネル daimon.ex 第4回解説

2024/04/16に公開

動画

https://www.youtube.com/watch?v=BNUegkdjWuI

キーワードリスト

動画では、Elixirの公式ドキュメントにある次の2つのページを参照しながら、キーワードリスト(keyword list)という概念について解説しました。

キーワードリストの主な利用法は、「関数にオプション(options)を渡す」ことです。オプションとは、関数に渡す引数のうち省略可能なものを指します。オプションは最後の引数であることが多いですが、無名関数を引数に取る関数の場合、最後から2番目にオプションを取ることがあります。

キーワードリストは、次の3つの条件をすべて満たすリストです。

  • すべての要素がタプルである。
  • 各タプルは2個の要素を持つ。
  • 各タプルの第1要素はアトムである。

例えば、次のリストはキーワードリストです。

[{:a, 1}, {:b, 2}, {:c, 3}]

このキーワードリストは次のように表記できます。

[a: 1, b: 2, c: 3]

関数の最後の引数としてキーワードリストを指定する場合は、全体を囲む角カッコ([ ])を省略できます。

Foo.bar("baz", a: 1, b: 2, c: 3)

Discussion