专栏
标签
如何解决函数调用报错ERROR: MethodError: no method matching xxxxx(::Vector{Any})?
技术分享
发布于 2025-07-23 09:57:42
查看 3过去314天

问题现象

function to_UniqueArr1(Arr::Vector{String})::Vector{String}
    ArrPath = String[]
    ArrFiles = String[]
    for A in Arr
        B = split(A,'/')
        if !(B[end] in ArrFiles)
            push!(ArrPath, A)
            push!(ArrFiles, string(B[end]))
        end
    end
    return ArrPath
end
c = []
typeof(c)
a =to_UniqueArr1(c)

以上代码运行报错:MethodError: no method matching xxxxx(::Vector{Any})

解决方法

产生该报错信息是因为函数有两个输入参数,但在调用的时候只有一个参数。 因此,只需要把 ::后面的都去掉即可正常运行。

function to_UniqueArr2(Arr)
    ArrPath = String[]
    ArrFiles = String[]
    for A in Arr
        B = split(A,'/')
        if !(B[end] in ArrFiles)
            push!(ArrPath, A)
            push!(ArrFiles, string(B[end]))
        end
    end
    return ArrPath
end
c = []
typeof(c)
a =to_UniqueArr2(c)

image.png

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
科学计算

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天