在cmd中使用Julia对象

时间:2019-02-10 00:51:45

标签: cmd julia

我目前正在使用Julia进行编码,在某些时候,我必须在命令提示符处运行一个.exe程序。让我们将该程序命名为“ x.exe”。我决定将以下行添加到我的代码中,以便朱莉娅在代码中执行程序:

run(pipeline('x.exe input.txt 5 500',stdout="output.txt"))

代码工作正常,但是我必须手动插入值“ 5”和“ 500”,分别是input.txt文件中的行数和输入中每行的项数。 txt文件。它们也是存储在Julia中的数组的行数和列数。

代码是否可以直接读取这些数字?我尝试过

writedlm("size.txt", transpose([size(Array)[1],size(Array)[2]])," ")

然后

run(pipeline('x.exe input.txt type size.txt',stdout="output.txt"))

但它不起作用。...

1 个答案:

答案 0 :(得分:2)

您可以使用@sprintf,例如如下:

julia> using Printf

julia> x = [[1,2,3], [4,5,6]]
2-element Array{Array{Int64,1},1}:
 [1, 2, 3]
 [4, 5, 6]

julia> a = @sprintf("%d", size(x)[1][1])
"2"

julia> b = @sprintf("%d", size(x[1])[1][1])
"3"

julia> run(pipeline(`x.exe input.txt $a $b`,stdout="output.txt"))

如您所见,Julia使用与Shell相同的方法将变量插值到命令中(请参见Julia manual section on Running External Programs)。