使用兩個Int64s的元組+函數返回的總和:爲什麼+函數似乎在元組上工作?
julia> +((1, 2))
3
然而,在使用上引用一個元組提供了以下錯誤的變量的+功能:
julia> a = (1, 2)
(1,2)
julia> +(a)
ERROR: MethodError: no method matching +(::Tuple{Int64, Int64})
我m很難理解爲什麼它的行爲如此,特別是當下面的代碼返回true時。
julia> typeof(a) == typeof((1, 2))
這很奇怪!我不知道爲什麼會發生這種情況,但我懷疑這是一種奇怪的「促進」的怪癖。爲了得到一個元組的總和,你可以使用'sum'函數。 'sum(a)' –
我的猜測是它不會將'1,2'識別爲'Int64'。不知道'julia'是否允許類型轉換,但是如果它嘗試將你的元組轉換爲'(Int64,Int64)' –
偉大的發現!你正在研究哪個版本的Julia? –