Julia append!() 无法将 Char 类型的对象“转换”为 String 类型的对象

J. *_*elt 4 julia

我正在尝试将字符串添加到数组中,如下所示:

arry = String[]
append!(arry, "test")
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

Cannot `convert` an object of type Char to an object of type String
Run Code Online (Sandbox Code Playgroud)

为什么当我添加字符串而不是字符时会出现此错误?

(为了其他 Julia 新手的利益,在下面发布我自己的答案 - 任何有更多有用提示的人请加入!)

Bog*_*ski 5

我看不到你的答案,但这是一个典型的模式。

您可以使用push!单个元素或append!集合:

julia> arry = String[]
0-element Array{String,1}

julia> push!(arry, "test")
1-element Array{String,1}:
 "test"

julia> append!(arry, ("test",))
2-element Array{String,1}:
 "test"
 "test"

julia> append!(arry, ["test"])
3-element Array{String,1}:
 "test"
 "test"
 "test"

julia> append!(arry, Ref("test"))
4-element Array{String,1}:
 "test"
 "test"
 "test"
 "test"
Run Code Online (Sandbox Code Playgroud)

请注意,集合可以是例如 a Tuple、 aVectorRef(这是广播中经常遇到的一种 0 维且非分配集合)。