我在Julia中的程序看到语法错误,没有错误

时间:2018-11-23 20:47:14

标签: syntax-error julia

我对这段代码有疑问。每当我尝试运行它时,它都说我“意外”结束。对我来说,一切都准备就绪,我想不通,有人可以帮我找到解决方案吗?完整的错误代码和程序代码如下。

程序:

function pop(input) {
  let output;
  if(input instanceof Array) {
    output = input.splice(-1)[0]
  }
  return output
}

function test(input) {
  console.log({ 
    before: input && Array.from(input), 
    popped: pop(input), 
    after: input
  })
  return test
}

test( [ 1, 2, 3, 4 ] )( [ 1 ] )( [ ] )( )( [ , , , ] )

错误:

function mbisekcji(f, a::Float64, b::Float64, delta::Float64, epsilon::Float64)
    e = b-a
    u = f(a)
    v = f(b)
    err = 0
    iterator = 0

    if sign(u) == sign(v)
        err = 1
        return err
    end

    while true
        e = e/2
        c = a+e
        w = f(c)

        if (norm(e) < delta) || (norm(w) < epsilon)
            return w, f(w), iterator, err
        end

        if sign(w) == sign(u)
            b = c
            v = w
        else
            a = c
            u = w
        end
        iterator++
    end
end

另外,为了使事情变得更简单,第60行是从背面第二个端点。一个关闭while循环。

1 个答案:

答案 0 :(得分:2)

要在Julia中将变量增加1,必须编写

iterator += 1

Julia不支持++递增变量。

但是,例如,您可以定义一个宏来执行几乎所需的操作:

julia> macro ++(x)
           esc(:($x += 1))
       end
@++ (macro with 1 method)

julia> x = 1
1

julia> @++x
2

julia> x
2