在julia 1.0中,什么新语法?错误:{}矢量语法已终止

时间:2018-10-04 17:03:56

标签: function vector syntax-error julia declare

我正在使用julia 1.0并出现错误, syntax: { } vector syntax is discontinued 使用以下代码:

function abc{Ti<:Integer,Tf<:FloatingPoint}(Ns::Ti,rho::Array{Tf,1},
            M::Array{Ti,1};Niter::Ti=5,rate::Tf=.5,Mc::Ti=2,mSparse::Ti=0,
            strategy::Ti=2,Nmat=1)

我搜索了函数和方法julia语法,但没有任何想法。请帮助我解决此错误,谢谢。 更新:

我仍然尝试将其转换为1.0,并检测到导致{}向量语法错误的源代码已停止使用。在下面:

pColor = {“ r>-”,“ bo-”,“ kx-。”,“ gd-”,“ c ^-”,“ m *-。”,“ rs--”,“ gp-。“,” bv-“,” kh-“,” c +-。“,” m .-“,};

您能帮我用新的语法修复它吗?

1 个答案:

答案 0 :(得分:1)

改为使用where运算符:

function abc(Ns::Ti,rho::Array{Tf,1},
            M::Array{Ti,1};Niter::Ti=5,rate::Tf=.5,Mc::Ti=2,mSparse::Ti=0,
            strategy::Ti=2,Nmat=1) where {Ti<:Integer,Tf<:FloatingPoint}

假设您定义了FloatingPoint类型(在Base中,等效类型为RealAbstractFloat,具体取决于您要接受的内容。

https://docs.julialang.org/en/latest/manual/methods/#Parametric-Methods-1是Julia手册的相关部分,介绍了如何定义参数方法。