Juliaで単一要素セットの唯一の要素にアクセスする関数 only
概要
集合論で言及される単一要素集合$\left\{ a \right\}$とその要素$a$が明確に異なるように、プログラミングにおいて要素を一つだけ持つコレクション[a]
とその唯一の要素a
は異なる。MATLABなどではいくつかの状況でこれらを区別しないが、Juliaはそれよりも少し厳格に区別し、そのための関数がonly
である1。
コード
only
関数はonly(x)
の形で書かれ、与えられたコレクションx
がただ一つ持つ要素を直接リターンする。これはx[1]
のようにインデックスを使用することと比較してより直感的であり、x
が二つ以上の要素を持つ場合を根本から防ぐため、ずっと安全である。
julia> only([1])
1
もしx
が空のコレクションであるか、二つ以上の要素を持つ場合にはArgumentError
が発生する。
julia> only([1,2])
ERROR: ArgumentError: Collection has multiple elements, must contain exactly 1 element
julia> only([])
ERROR: ArgumentError: Collection is empty, must contain exactly 1 element
環境
- OS: Windows
- julia: v1.10.0