1

我得到了syntax error, 'unexpected ','一个 Ruby 程序。ruby 解释器和 Ruby IDE (Eclipse DLTK) 都在同一个地方指示错误,但对我来说它看起来非常好。

main.rb:156: syntax error, unexpected ','

    def create_account(atts={}, entity, server_app)
                                      ^ (SyntaxError)

如果我注释掉或删除有问题的行(以及方法的其余部分),语法错误将移至下一个 3 参数方法定义(无参数,1 或 2 参数方法不受影响)

我正在运行 Jruby 1.6.7

我想这与一些完全不相关的事情有关,所以我正在寻找一些关于要寻找什么的提示/启发式方法。

- - 编辑 - -

进一步的实验表明,它与使用哈希的内联初始化有关:

def dummy_two_param_method(dummy={})        #OK
end

def dummy_two_param_method(dummy, damn)     #OK
end

def dummy_two_param_method(dummy={}, damn)  #Syntax error at ')'
end

def dummy_three_param_method(dummy={}, damn, dum_b)
end
4

1 回答 1

6

当使用 ruby​​ 1.8 的默认值(jruby 1.6.7 不完全兼容 1.9)时,必须在方法行中最后声明默认值。

尝试create_account(entity, server_app, atts={})

于 2013-05-31T17:09:21.413 回答