形式论证不能是常数def

时间:2012-05-31 08:50:13

标签: java ruby jruby

正如标题所示,我在运行程序时遇到了这个错误。

这是我的ruby文件:

require 'java'
java_import org.arc.Something

def hello(Something)
    Something.print()
end

基本上我这样称呼它:

invoke.invokeFunction("hello", new SomethingElse());

2 个答案:

答案 0 :(得分:3)

正如它在错误消息中所说,你不能在ruby中使用常量作为正式参数。

常量具有局部变量等名称,但它们以大写字母开头。

所以,你应该使用通常的变量来代替参数:

def hello(something)
    something.print()
end

答案 1 :(得分:0)

您的某个常量名称([arc.org.]Something)与参数名称(Something)之间似乎存在冲突。

尝试将参数重命名为其他内容:

require 'java'
java_import org.arc.Something

def hello(st)
    st.print()
end