我有一些代码,当Julia版本为0.4时我写回来,现在我的版本为0.5.0
但是,当我尝试运行旧代码(修复其他一些问题后)时,现在我收到以下错误:
ERROR: LoadError: MethodError: no method matching ==(::String, ::String)
you may have intended to import Base.==
这似乎很奇怪。错误发生在以下行:
if fname == "run"
,其中
fname = convert(String, params[1])
和
params = split(readline()[1:end - 1])
答案 0 :(得分:0)
您提供的小代码对我来说很好:
julia> params = split(readline()[1:end - 1])
run this thing
3-element Array{SubString{String},1}:
"run"
"this"
"thing"
julia> fname = convert(String, params[1])
"run"
julia> if fname == "run"
println("success")
else
println("failure")
end
success
问题可能在其他地方。
答案 1 :(得分:0)
原来问题是==函数的自定义定义。 虽然我不知道为什么它打破了它,因为它的定义始于:
function ==(a::Move, b::Move)
无论如何,删除该函数并使Move类型不可变会解决问题。