2014-12-05 31 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

相关问题