gpt4 book ai didi

java - 为什么无法执行包含 Java 中的 String[] 的 Julia 脚本

转载 作者:行者123 更新时间:2023-12-02 04:06:35 25 4
gpt4 key购买 nike

public class ScriptProcess {

private String[] command;

public ScriptProcess(String[] c) {
this.command = c;
}

public void exec() {
try {
Process p = Runtime.getRuntime().exec(this.command);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuffer stringBuffer = new StringBuffer();
String line = null;
while((line = in.readLine()) != null){
stringBuffer.append(line + " --- ");
}
System.out.println(stringBuffer.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

我可以使用这个 Java 类执行 Julia 脚本。

例如,这是一个 julia 脚本:

#main.jl
msgTest = Int64[]
push!(msgTest, 1)
push!(msgTest, 2)
println(msgTest)

然后,我可以初始化一个 ScriptProcess 来执行上面的 julia 脚本:

String[] command = {"C:\\Julia\\bin\\julia.exe", "C:\\doc\\Julia\\main.jl"};
ScriptProcess sp = new ScriptProcess(command);
sp.exec();

一切正常,我可以在eclipse的控制台上得到结果:[1,2]

但是,如果我将 julia 脚本的 Int64 更改为 String,如下所示:

#main.jl
msgTest = String[]
push!(msgTest, "aaa")
push!(msgTest, "bbb")
println(msgTest)

我运行同一个java项目,我什么也得不到。

但是,我可以使用命令提示符运行 julia 脚本:

C:\> C:\Julia\bin\julia.exe C:\doc\Julia\main.jl

我可以得到结果:AbstractString["aaa","bbb"]

最佳答案

新版本的 Julia 会在使用 String 时生成警告。 String 已更改为 AbstractString

如果我们在 Julia 或 Julia 的某些 IDE 中使用 String,除了出现警告之外,一切都会很好。然而,如果我们想用另一种语言项目执行 julia 脚本,不知何故我们不能。

关于java - 为什么无法执行包含 Java 中的 String[] 的 Julia 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34229403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com