如何在julia类型声明中定义类型元组
如何为 julia 函数声明特定类型的元组?
这有效:
function f(x, y)::Int8
x+y
end
julia> f(2, 3)
5
这也有效:
function g(x, y)::Tuple
x+y, x*y
end
julia> g(2, 3)
(5, 6)
但我不知道如何定义元组中的类型。
例如,这会引发错误:
function h(x, y)::Tuple(::Int8, ::Int8)
x+y, x*y
end
ERROR: syntax: invalid "::" syntax around REPL[48]:2
这也是:
function k(x, y)::Tuple(Int8, Int8)
x+y, x*y
end
julia> k(2, 3)
ERROR: MethodError: no method matching Tuple(::Type{Int8}, ::Type{Int8})
回答
使用花括号并省略::
元组元素类型的 :
function k(x, y)::Tuple{Int8, Int8}
x + y, x * y
end
julia> k(2, 3)
(5, 6)