clojure - 如何从 Clojure 中的打印行末尾读取输入?
问题描述
(println "The number is: " (read-line))
(read-line)
读取来自新行的输入。
如何从打印字符串的末尾而不是换行符读取?
就像在 C 中一样:
printf("The number is: ")
scanf("%d", &value)
解决方案
如果您在(read-line)
内部进行打印,它将首先执行(阻塞并等待用户输入,然后将打印“问题”和用户输入)。
而是使用do
一个接一个地执行多个事情。要强制输出print
(not println
),请使用flush
:
(do
(print "The number is: ")
(flush)
(read-line))
; The number is: 666
; => "666"
do
返回最后一个结果。
推荐阅读
- excel - 添加唯一值并排除常量值 - 优化公式
- javascript - ASP.NET Core SPA 中基于 JWT 的身份验证 - 前端验证
- c# - Directory.Exists 使用多个斜杠检查路径
- php - 使用 php-fpm 和 mod_proxy 时创建新的命名处理程序
- r - 如何向我显示模式以及模式出现的频率?
- wordpress - 如何在 Dockerfile 中下载和解压
- java - Java:如何使用最佳编码实践设置父和祖父成员变量
- apache-spark - 在 map reduce pyspark 中编写复杂函数
- mariadb - Mariadb Galera Cluster Multi-Master 查询执行速度慢
- c# - 播放列表未播放