让我们说我有一个名为" Busca01.x"的外部命令。它返回由制表符分隔的三个整数,如下所示:
karel@maquina: Busca01.x
192 891 9029
所以,我可以从julia中调用它,并使用其中任何一个将结果存储为字符串
readall
或readchomp
。我需要数据作为数组或元组,但我似乎不能使它工作,尽管数据的结构明显。我认为在readdlm
可能是答案,但我似乎无法使其发挥作用。
我的朱莉娅是3.7.pre 22.
答案 0 :(得分:4)
由于 readall 会返回字符串,您需要在字符串上运行的内容,拆分符合法案。
通过拆分给定的字符串返回一个子字符串数组 给定字符分隔符的出现,可能是 以"搜索"第二个允许的任何格式指定 参数(即单个字符,字符集合, 字符串或正则表达式)。如果" chars"它被省略了 默认为所有空格字符的集合,"保持"被采取 是假的。两个关键字参数是可选的:它们是a 结果的最大大小和确定是否为空的标志 字段应保留在结果中。
所以给出类似
之类的输出julia> x = readall(pipe(`echo "A B C"`,`awk -F ' ' '{print $1"\t"$2"\t"$3 }'`))
"A\tB\tC\n"
字段是
julia> split(x)
3-element Array{SubString{ASCIIString},1}:
"A"
"B"
"C"
或将其变成元组
julia> tuple(split(x)...)
("A","B","C")