2017-10-13 8 views
-1

入力を空白に基づいて分割することはできますが、生成された各部分文字列をベクターの要素として保存する必要があります。それぞれの情報が正しい場合。 (入力はユーザーがテキスト中に入るというのが私の変数の名前です (VEC(ベクトル)を定義) (ベクトル・アペンド(文字列分割入力)VEC) (表示VEC)Racket:文字列を分離して文字列をベクトルに保存する方法

:私はこれを持っています-field%)

しかし、それは私に次のようなエラーを与えます: ベクトル - 追加:契約違反 期待:ベクトル? 与えられた:「( "fdsnmf" "ifnjin" "ifnuib") 引数の位置:第一 その他の引数...:

答えて

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) 
関連する問題