问题描述
这有效:
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)