Julia 减法中没有方法匹配

Julia 减法中没有方法匹配,julia,Julia,运行以下代码后,我将使用julia 0.5: Freqsample = 100; second = 4; step = (Freqsample * second )-1 我得到这个错误: MethodError: no method matching getindex(::Int64, ::Colon, ::UnitRange{Int64}) in -(::Int64, ::Int64) at main.jl:12 in include_string(::String, ::String)

运行以下代码后,我将使用julia 0.5:

Freqsample = 100;
second = 4;
step = (Freqsample * second )-1
我得到这个错误:

MethodError: no method matching getindex(::Int64, ::Colon, ::UnitRange{Int64})
 in -(::Int64, ::Int64) at main.jl:12
 in include_string(::String, ::String) at loading.jl:441
 in eval(::Module, ::Any) at boot.jl:234
 in (::Atom.##65#68)() at eval.jl:40
 in withpath(::Atom.##65#68, ::Void) at utils.jl:30
 in withpath(::Function, ::Void) at eval.jl:46
 in macro expansion at eval.jl:109 [inlined]
 in (::Atom.##64#67{Dict{String,Any}})() at task.jl:60

减法有什么问题?如果这是一个愚蠢的问题

你重新定义了
-
的类型比你可能想要的更多,那么我对朱莉娅来说是一个全新的想法。您发布的回溯中的第二行告诉您,Julia在
main.jl
中为两个整数调用了
-
方法。第一行是这样的,它试图在第12行做类似于
x[:,1:5]
的事情,其中
x
是一个整数

这告诉我两件事

  • 您对
    -
    的定义可能输入得太随意了。您可能不打算接受整数

  • 您可能正在隐藏内置的
    -
    定义,而不是扩展它。为了向标准库中的函数添加新方法,您需要导入Base:-


  • 我不能重现你的错误。我得到
    julia>step=(Freqsample*second)-1399
    。也许你在某处改写了一些定义。如果重新启动Julia并重试,会发生什么情况?此外,FYI step是一个用于获取范围步长的函数,因此在将变量分配给同一名称之前请仔细考虑。Re:
    step
    –不要紧,这是作用域和名称空间的用途。