2014-12-05 63 views

回答

4

麻煩的過程中使用的是(read-line)產生一個字符串,所以你剛剛結束了一個字符串元素的列表。如果您特別想讀取數字列表,請將字符串拆分爲空格並將所有元素轉換爲數字。

(map string->number (string-split (read-line))) 

在另一方面,如果你真的想用球拍語法的全功率表來讀取,你可以使用read

> (read) 
(10 10 10) 
'(10 10 10) 

如果要指定列表內容但不希望包括括號,好了,你可以做到這一點。

(read (open-input-string (format "(~a)" (read-line)))) 
+0

非常感謝Alexis!我是Racket新手,現在我已經玩了幾個星期了。你是非常有幫助的 – JJ12 2014-12-05 09:58:22

+0

對於後一種情況,你也可以做'(sequence-> list(with-input-from-string(read-line)in-port))'或者甚至只是'(with-input-from -string(read-line)in-port)'如果一個序列足夠。 – blubberdiblub 2017-04-21 08:18:40

相關問題