【发布时间】:2018-08-07 11:22:57
【问题描述】:
设置:我在 Julia 中有一个函数,它接受两个输入,x 和 y。两个输入都是相同类型的数组,其中该类型可以是任何数字类型、日期、日期时间或字符串。请注意,无论输入数组的上述任何元素类型如何,该函数的内容都是相同的,因此我不想多次编写该函数。目前,我有这样定义的函数:
function MyFunc{T<:Number}(x::Array{T, 1}, y::Array{T, 1})
显然,这会处理数字大小写,但不处理日期、日期时间或字符串。
问题:在 Julia 中编写函数的第一行以适应这些其他类型的最佳实践是什么?请注意,性能很重要。
我的尝试:我可以尝试以下方法:
function MyFunc{T<:Number}(x::Union(Array{T, 1}, Array{Date, 1}, Array{DateTime, 1}, Array{String, 1}) y::Union(Array{T, 1}, Array{Date, 1}, Array{DateTime, 1}, Array{String, 1}))
但这感觉很笨拙(或者可能不是?)。
链接:我想这与我在 Julia 上的另一个 Stack Overflow 问题密切相关,可以在 here 找到。
【问题讨论】: