在Julia语言中,我想使用为String上的Array {T,1}又称为Vector {T}定义的函数,本质上将其视为Array {Char,1}。

我想使用的功能示例:

julia> deleteat!("Hrello!",2)
ERROR: MethodError: no method matching deleteat!(::String, ::Int64)
Closest candidates are:
  deleteat!(::Array{T,1} where T, ::Integer) at array.jl:1177
  deleteat!(::Array{T,1} where T, ::Any) at array.jl:1214
  deleteat!(::BitArray{1}, ::Integer) at bitarray.jl:901
  ...
Stacktrace:
 [1] top-level scope at none:0

julia> deleteat!(['H','r','e','l','l','o','!'], 2)
6-element Array{Char,1}:
 'H'
 'e'
 'l'
 'l'
 'o'
 '!'

需要明确的是,我想以String开头,以String结束,但是要使用Array {Char,1}操作来更改String。

最佳答案

在Julia中,应该始终首先尝试collect来从其他内容中获取Vector

julia> deleteat!(collect("Hrello!"), 2)
6-element Array{Char,1}:
 'H'
 'e'
 'l'
 'l'
 'o'
 '!'

关于julia - 如何在Julia中将字符串视为数组/向量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53965233/

10-10 05:35
查看更多