2

((a b))" " をにする方法があるかどうか疑問に思っていまし'((a b))た。

(symbol->string "((a b))")私は私に与えるものを使用 しました'|((a b))|

そして、それはまさに私が必要としているものではありません。リストが必要です。

4

2 に答える 2

6

ラケットでこれを行うだけです:

(call-with-input-string "((a b))" read)
=> '((a b))

を使用する利点は、前述のようcall-with-input-string文字列ポートが自動的に閉じられることです。

于 2013-10-16T01:35:00.027 に答える
3

readと を一緒に使用しopen-input-stringて、文字列をリストに解析できます。

> (define (string->list str) (read (open-input-string str)))
> (string->list "((a b))")
'((a b))

これにより、最初に文字列がinput-port(データ ストリーム) に変換され、次に から にinput-port変換されlistます。open-input-stringreadのドキュメントを参照してください。

于 2013-10-16T01:36:39.330 に答える