我尝试使用此页上的代码来提供用户输入功能:一个简单的Racket终端交互
(define entry_list (for/list ([line (in-lines)]
#:break (string=? line "done"))
(println line)))
(println entry_list)
输出为:
this
"this "
is
"is "
a
"a "
test
"test"
for testing only
"for testing only"
done
'(#<void> #<void> #<void> #<void> #<void>)
为什么列表仅包含“无效”项目?
那是因为println
函数返回了#<void>
。如果您用println代替println来为每行返回不同的值,那么您将得到一个更有趣的列表。
例如,以下代码应返回包含您键入的行的列表:
(define entry_list
(for/list ([line (in-lines)]
#:break (string=? line "done"))
line))
如果只想打印行,则可以使用for
代替for/list
,以避免在最后创建无效的无效列表:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句