首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Clojure函数中捕获打印到*out*的惯用方法是什么?

从Clojure函数中捕获打印到out的惯用方法是使用with-out-str

with-out-str是Clojure中的一个宏,它可以捕获在其内部执行的代码块中产生的任何输出,并将其作为字符串返回。这是一个常用的方法,可以让你在不直接打印到控制台的情况下捕获和处理Clojure函数中的输出。

例如,下面的代码将捕获(println "Hello, World!")的输出,并将其存储在output变量中:

代码语言:txt
复制
(def output (with-out-str (println "Hello, World!")))

在这个例子中,output将包含字符串"Hello, World!\n",其中包括了println自动添加的换行符。

需要注意的是,with-out-str只能捕获*out*的输出,而不能捕获*err*的输出。如果需要捕获错误输出,可以使用with-err-str

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Julia(字符串)

字符串是字符的有限序列。当然,真正的麻烦来自于人们问一个角色是什么。英语演讲熟悉的字符是字母A,B,C等,用数字和常用标点符号在一起。这些字符通过ASCII标准进行了标准化,并映射到0到127之间的整数值。当然,还有许多其他非英语语言使用的字符,包括带有重音和其他修饰的ASCII字符变体,相关的脚本(例如西里尔字母和希腊语)以及与ASCII和英语完全无关的脚本,包括阿拉伯语,中文,希伯来语,北印度语,日语和韩语。该统一标准解决了一个字符的复杂性,通常被认为是解决该问题的权威标准。根据您的需要,您可以完全忽略这些复杂性,而假装仅存在ASCII字符,或者可以编写可以处理任何字符或处理非ASCII文本时可能遇到的编码的代码。Julia使处理普通ASCII文本简单而有效,而处理Unicode则尽可能简单而高效。特别是,您可以编写C样式的字符串代码来处理ASCII字符串,并且它们在性能和语义方面都将按预期工作。如果此类代码遇到非ASCII文本,它将以明确的错误消息正常地失败,而不是默默地引入损坏的结果。当这个情况发生时,

01
领券