Julia Core.Array

Julia 言語の配列 (Core.Array) は順序があり、名前を持たないコレクションである。

目次

  1. 1 コレクション
  2. 2 定義
  3. 3 配列の作成
  4. 4 要素の参照
  5. 5 イテレーション
  6. 6 値の変更
  7. 7 値の追加
  8. 8 Core.Array
  9. 9 Core.typeof
  10. 10 Base.empty!
  11. 11 Base.isempty
  12. 12 Base.length
  13. 13 参考文献

1 コレクション

Core.Array はコレクションの一種である。Julia 言語には、以下に示すコレクションがある。

Juliaのコレクション
コレクション 順序 名前 値の重複 要素の追加・変更
Core.Array
Core.NamedTuple
Core.Tuple
Base.Dict
Base.Matrix
Base.Set
Base.Vector

Core.Array は以下に示す特徴を持つ。

上記の特徴を持つコレクションは、一般的に「配列」と呼ばれる。

2 定義

Array{T,N} <: AbstractArray{T,N}
T
要素の型
N
配列の次元

3 配列の作成

Core.Array の生成方法を以下に示す。

julia> x = [1, 2.0, "foo"]
3-element Array{Any,1}:
 1
 2.0
 "foo"

配列の型を指定できる。

julia> x = Float32[1, 2, 3]
3-element Vector{Float32}:
 1.0
 2.0
 3.0

4 要素の参照

Core.Array の値は、1 から始まる番号を指定して参照できる。

julia> x = [1, 2.0, "foo"]
3-element Array{Any,1}:
 1
 2.0
 "foo"

julia> x[1]
1

5 イテレーション

Core.Array は先頭から順に値を取り出すことができる。

julia> x = [1, 2.0, "foo"]
3-element Array{Any,1}:
 1
 2.0
 "foo"

julia> for i in x
         println(i)
       end
1
2.0
foo

6 値の変更

配列の値は変更することができる。

julia> x = [1, 2]
2-element Vector{Int64}:
 1
 2

julia> x[1] = 0
0

julia> x
2-element Vector{Int64}:
 0
 2

7 値の追加

配列に値を追加することはできない。

julia> x = [1, 2]
2-element Vector{Int64}:
 1
 2

julia> x[3] = 3
ERROR: BoundsError: attempt to access 2-element Vector{Int64} at index [3]

8 Core.Array

Core.Array メソッドを使って配列を生成できる。

Array{T}(undef, dims)
Array{T,N}(undef, dims)
Array{T}(nothing, dims)
Array{T,N}(nothing, dims)
Array{T}(missing, dims)
Array{T,N}(missing, dims)
T
要素の型
N
配列の次元
undef
要素の初期値を undef とする。
julia> a = Array{Int32}(undef, 2)
2-element Vector{Int32}:
 0
 0

julia> a = Array{Int32, 2}(undef, 2, 3)
2×3 Matrix{Int32}:
 0  0  0
 0  0  0
nothing
要素の初期値を nothing とする。要素の型 (T) に Core.Nothing を含める必要がある。
missing
要素の初期値を missing とする。要素の型 (T) に Base.Missing を含める必要がある。
dims
各次元の要素数

9 Core.typeof

Core.typeof 関数を使って、配列内の要素の型を確認できる。

julia> x = [1, 2, 3]
3-element Vector{Int64}:
 1
 2
 3

julia> typeof(x)
Vector{Int64} (alias for Array{Int64, 1})

10 Base.empty!

Base.empty! 関数を使って、配列の要素を空にすることができる。

julia> x = [1, 2, 3]
3-element Vector{Int64}:
 1
 2
 3

julia> empty!(x)
Int64[]

julia> x
Int64[]

11 Base.isempty

Base.isempty 関数を使って、配列が空かどうかを確認できる。

julia> x = []
Any[]

julia> isempty(x)
true

julia>  x = [1, 2, 3]
3-element Vector{Int64}:
 1
 2
 3

julia> isempty(x)
false

12 Base.length

Base.length 関数を使って、配列の要素数を確認できる。

julia>  x = [1, 2, 3]
3-element Vector{Int64}:
 1
 2
 3

julia> length(x)
3

13 参考文献

JuliaLang.org contributors 2023. Julia Documentation