我从文件中读取了一个字符串数组。
julia> file = open("word-pairs.txt");
julia> lines = readlines(file);
但朱莉娅不知道他们是串。
julia> typeof(lines)
Array{Any,1}
我能以某种方式告诉朱莉娅吗?
是否可以在计算结果中插入类型信息?
答案 0 :(得分:1)
了解这是一个问题的背景会很有帮助,因为可能有更好的方式来表达你需要的东西 - 或者某处可能存在一个微妙的错误。
我能以某种方式告诉朱莉娅吗?
不,因为readlines
函数显式创建了Any
数组(a = {}
):https://github.com/JuliaLang/julia/blob/master/base/io.jl#L230
是否可以在计算结果中插入类型信息?
您可以转换数组:
r = convert(Array{ASCIIString,1}, w)
或者,根据上面的链接创建自己的readstrings
函数,但使用ASCIIString[]
代替{}
收集数组。
答案 1 :(得分:0)
以赛亚对readlines
的极限是正确的。更一般地说,通常你可以说
n = length(A)::Int
当泛型类型推断失败但您可以保证特定情况下的类型。
答案 2 :(得分:0)
截至0.3.4:
julia> typeof(lines)
Array{Union(ASCIIString,UTF8String),1}
我只是想警告:
convert(Array{ASCIIString,1}, lines)
可能会失败(对于非ASCII),我想,在这种情况下,不需要做任何事情,这应该有效:
convert(Array{UTF8String,1}, lines)