logo

Juliaで単一要素セットの唯一の要素にアクセスする関数 only 📂ジュリア

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