我在运行此代码后使用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
减法有什么不对?如果这是一个愚蠢的问题,我对朱莉娅来说是个新朋友。
答案 0 :(得分:7)
您已重新定义-
以获得比您预期更多的类型。您发布的回溯中的第二行告诉您,Julia在-
中为两个整数调用main.jl
方法。第一行是说它在那里试图在第12行做x[:, 1:5]
之类的事情,其中x
是一个整数。
这告诉我两件事;
您对-
的定义可能过于夸张。你可能并不打算接受整数。
您可能遮蔽内置-
定义而不是扩展它。您需要import Base: -
才能向标准库中的函数添加新方法。