Julia 朱莉娅:没有方法匹配重载的parse()
我对朱莉娅很陌生(就像今天一样)。我试图使用一个使用包的包Julia 朱莉娅:没有方法匹配重载的parse(),julia,Julia,我对朱莉娅很陌生(就像今天一样)。我试图使用一个使用包的包AutoEnvs,但是当我运行using AutoEnvs时,我得到了这个错误 MethodError:没有与parse匹配的方法(::Type{AutomotiveDrivingModels.LaneConnection},::SubString{String}) 在AutomotiveDrivingModels包中的问题代码中,他们执行以下操作 定义struct LaneConnection 定义function Base.parse
AutoEnvs
,但是当我运行using AutoEnvs
时,我得到了这个错误
MethodError:没有与parse匹配的方法(::Type{AutomotiveDrivingModels.LaneConnection},::SubString{String})
在AutomotiveDrivingModels包中的问题代码中,他们执行以下操作
struct LaneConnection
function Base.parse(::Type{LaneConnection},line::String)
函数前进!()
conn=parse(LaneConnection,advance!())
-这会引发错误Base.parse
的定义中使用::键入{automotivedrivingmodes.LaneConnection}
,并在调用parse
时添加包名,但没有帮助
根据错误,它看起来像是advance!()
正在返回子字符串
-如果重载的parse()
需要字符串
,这可能是问题所在吗
我还尝试按照建议添加import Base:parse
,但没有任何帮助
顺便说一下,这是所有的尝试和安装。注意,在特定提交时需要旧版本的AutomotiveDrivingModels
系统:
Mac OS Mojave 10.14(已安装的xcode命令行工具)Julia:v0.7.0(ngsim_环境安装的限制) 谢谢大家! 编辑
在某一点上,重新启动解释器并再次尝试使用AutoEnvs
,解决了此错误。但是我刚刚进行了一次新的安装并更改了一些其他软件包版本,现在这个错误又回来了,重新启动不再有任何帮助。在master上Base的签名。parse
是:
function Base.parse(::Type{LaneConnection}, line::AbstractString)
它应该像预期的那样工作。你可以在这里查一下
在软件包管理器中执行add
操作时,您可以通过向软件包名称添加#master
后缀来安装此版本的软件包。感谢共享函数签名,它帮助我解决了此问题。由于其他限制,我不得不使用早期版本的AutomotiveDrivingModels,旧版本需要line::String
。但是错误显示对parse()
的调用正在传递SubString
。朱莉娅是新手,所以不知道如何在不中断其他电话的情况下解决这个问题。我刚刚更新了parse()
以期望line:AbstractString
,这似乎是可行的。