多個返回值
元組經常用於多個返回值。許多標準庫,包括可迭代介面的兩個函式 (next
和 done
),返回包含兩個相關但不同的值的元組。
在某些情況下,可以省略元組周圍的括號,使多個返回值更容易實現。例如,我們可以建立一個函式來返回實數的正負平方根:
julia> pmsqrt(x::Real) = sqrt(x), -sqrt(x)
pmsqrt (generic function with 1 method)
julia> pmsqrt(4)
(2.0,-2.0)
解構賦值可用於解包多個返回值。要將平方根儲存在變數 a
和 b
中,只需編寫:
julia> a, b = pmsqrt(9.0)
(3.0,-3.0)
julia> a
3.0
julia> b
-3.0
另一個例子是 divrem
和 fldmod
函式,它們同時執行整數(分別截斷或分層 )除法和餘數運算:
julia> q, r = divrem(10, 3)
(3,1)
julia> q
3
julia> r
1