2

我不是一个java程序员。我真的比 java 更喜欢 Scala。如果可以的话,我宁愿在 Scala 中制作处理库以在处理中使用。我已经能够在 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(library) 不存在。

我显然错过了一些东西,有没有比我更有知识的人可以给我一个提示?

[更新]另外,我注意到当我在处理中这样做时:

println(new Foo());

控制台打印出 library.Foo@aa233f

4

1 回答 1

1

这些是典型的 Java/Scala 互操作问题。您应该给出 Foo 的定义代码以获得具体帮助,但是您可以通过搜索 scala interop 找到很多现有的帮助/信息。

你看过SPDE吗?它是支持 Scala 的 Processing 的一个分支。如果它足够成熟,您最好使用它而不是处理所有这些互操作问题。

于 2013-01-12T12:01:14.143 回答