链接 Java 以外的 JVM 语言与 Matlab

链接 Java 以外的 JVM 语言与 Matlab

我知道可以将 Java 程序与 Matlab 链接起来。那么是否可以将任何 JVM 语言与 Matlab 链接起来?我怀疑是这样的 —— 大概 Matlab 无法分辨并且不关心 .class 文件是如何创建的 —— 但我希望有人能提供一些关于它的具体信息。我在 Matlab 网站上找不到任何相关信息。

我对 Kotlin 的最新进展很感兴趣(如果有人感兴趣我可以解释)但我感兴趣的是知道它是否可以用于任何 JVM 语言。

答案1

看起来是可行的,这是一个概念证明。我正在 macOS 上工作,并通过 Homebrew 安装了 Kotlin 和 JDK。

$ cat happyBirthday.kt 
class MyHappyBirthday {
    constructor () {}
    fun happyBirthday(name: String, age: Int): String {
        return "Happy ${age}th birthday, $name!"
    }
}

$ kotlinc -d /tmp happyBirthday.kt

然后在 Matlab 中:

>> javaaddpath('/tmp')
>> javaaddpath('/usr/local/Cellar/kotlin//1.3.61/libexec/lib/kotlin-stdlib.jar')
>> foo=MyHappyBirthday()                                                        

foo =

MyHappyBirthday@5fd9b663

>> foo.happyBirthday('Foo',23992)                                               

ans =

Happy 23992th birthday, Foo!

显然,必须将任何其他 Kotlin jar 包含在 Matlab 的 Java 类路径中。同样显然,这只是一个很小的例子,而且还有相当大的空间会遇到复杂情况,但从表面上看,这足以继续下去。最后,我没有尝试任何其他 JVM 语言,但我猜它的运行方式类似。

相关内容