Juliaのデータ型
typeof()で確認できる
型の上位型はsupertype()で確認できる
すべての型はAnyに属している?あんも.icon
型の下位型はsubtypes()で確認できる
下位型 <: 上位型のような関係図
抽象型: Abstract Type
isabstracttype()で確認できる
具象型: Concrete Type
isconcretetype()で確認できる
データ型に作用できる関数を確認する
methodswith()
プリミティブ型: Primitive Type
複合型: Composite Type
いくつかの型を組み合わせたもの
実際にもっているフィールドはfieldnames()で確認できる
組み込みの複合型はフィールドの値を返す関数が実装されている
多重ディスパッチを適切に行うのに利用できるらしいあんも.icon
コレクション型: Collection Type
Any: すべての型の上位型
Real: 実数型
Integer: 整数型
Bool: ブール型
Signed: 符号つき
BigInt
Int128
Int64: 64bit符号つき整数型
Int32
Int16
Int8
Unsigned: 符号なし
UInt128
UInt64: 64bit符号なし整数型
UInt32
UInt16
UInt8
AbstractFloat
BigFloat
Core.BFloat16?あんも.icon
Float64: 64bit浮動小数点数型
Float16
Float32
Rational{T}: 有理数複合型
AbstractIrrational
Irrational: 無理数型
Complex{T}: 複素数複合型
AbstractChar
Char: 文字型
'あ'
AbstractString
String: 文字列型
"abc"
x = 1; "x = $(x)"
変数を展開できる
raw"C:\Users\user\Lecture": raw文字リテラル
エスケープシーケンスのかかかる文字列をそのまま流し込める
[Int(char) for char in string]のようにして対応するInt型にしてリストにできる
AbstractArray{T, N}
DenseArray{T, N}
Array{T, N}: 配列型
AbstractVector{T}: AbstractArray{T, 1}のエイリアス
DenseVector{T}: DenseArray{T,1}のエイリアス
Vector{T}: ベクトル型
[1, 2, 3]
AbstractMatrix{T}: AbstractArray{T,2}のエイリアス
DenseMatrix{T}: DenseArray{T,2}のエイリアス
Matrix{T}: 行列型
[1 2; 3 4]
;は改行のように動作する
[1;2;;3;4]
LinearAlgebra.Transpose
[1 2; 3 4]'
LinearAlgebra.Adjoint
AbstractVector: AbstractArray{T, 1}のエイリアス
AbstractRange
OrdinalRange{T, T}
AbstractUnitRange{T}
UnitRange{T<:Real}: 範囲型
1:5
1:2:5
1:-1:5
AbstractDict
Dict: 辞書型
Ref
Ptr{T}: ポインタ型
通常は利用しないが、C言語とやり取りするときに利用する (:var, :body)
AbstractPattern
Regex
r"^a[b-f]+$": 正規表現リテラル
Tuple{Types...}: タプル
(1, 2)
Set: 集合
Type{T}
UnionAll