我不是一个java程序员。我非常喜欢Scala而不是java。如果可以的话,我宁愿在Scala中创建处理库以在Processing中使用。我已经能够在Processing中从我的库中启动新对象,但我还不知道如何从我的Scala对象中获取方法或字段。我也似乎无法将当前的PApplet传递给Scala对象而没有错误。我是如何做到这一点的,将scala-library.jar复制到Processing的lib文件夹中,以便它可以使用scalaObjects。
如果我这样做:
new Foo();
//or
Foo bar = new Foo();
没问题。
但如果我这样做:
Foo bar = new Foo();
println(bar.baz);
它说baz不存在,baz只是一个字符串。
如果我这样做:
new Foo(this);
它说Foo(库)不存在。
我显然错过了一些东西,是否有人比我更有知识可以给我一些暗示?
[更新] 另外,我注意到当我在处理时这样做:
println(new Foo());
控制台打印出来,library.Foo @ aa233f
答案 0 :(得分:1)
这些是典型的Java / Scala互操作问题。你应该给出Foo的定义代码以获得特定的帮助,但你可以通过搜索scala interop找到许多现有的帮助/信息。
你看过SPDE了吗?这是支持Scala的Processing的一个结果。如果它足够成熟,你可能最好不要使用它而不是处理所有这些互操作问题。