Racket:如何分离字符串并在向量

时间:2017-10-13 04:13:40

标签: racket

我可以根据空格分割输入,但是我需要将每个生成的子串保存为向量的元素,这样我就可以访问每个子串并检查每个子信息是否正确。我有这个:     (定义vec(向量))     (vector-append(string-split input)vec)     (显示vec)

;(输入是用户在文本字段%中输入的变量的名称)

但它给了我一个错误说: vector-append:合同违规   预期:矢量?   给出:'(" fdsnmf"" ifnjin"" ifnuib")   论点位置:1   其他论点......:

1 个答案:

答案 0 :(得分:0)

vector-append用于追加两个向量,而不是向量和列表。 要创建包含输入字符串列表的向量,您可以执行以下操作:

(define vec (apply vector (string-split input)))

例如,

(define input "this is random text")
(define vec (apply vector (string-split input)))

(display vec)
=> #(this is random text)
(vector-ref vec 2)
=> "random"

您还可以使用list->vector

(define vec (list->vector (string-split input)))

(display vec)
=> #(this is random text)