我基本上要执行以下操作:
typealias CVODE_BDF CVODE_BDF{:Newton,:Dense}
也就是说,允许用户传递给我的功能CVODE_BDF
,如果他们没有设置任何类型的参数,因为它解释CVODE_BDF{:Newton,:Dense}
。我知道,typealias
实际上并没有工作,但有没有办法来模拟这一点?就像在函数中一样,阅读T.parameters[1]
并以某种方式看到它为空?
如果函数接受该类型的对象,而不是该类型本身,则可以执行此操作。例如
type MyObject{T}
end
const DefaultMyObject = MyObject{Int64}()
f{T}(x::MyObject{T}=DefaultMyObject) = T
f(), f(MyObj{Float64}())
给
(Int64,Float64)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句