gpt4 book ai didi

string - 如何在 Common Lisp 中使用填充指针初始化字符串?

转载 作者:行者123 更新时间:2023-12-04 16:26:04 25 4
gpt4 key购买 nike

我想在循环中使用格式化输出来生成字符串。手册说它可以通过提供 format 轻松完成函数以填充指针作为目标的字符串。不幸的是,手册中并不清楚如何首先初始化此字符串。

我试过 (string "")(format nil "")没有运气。
(make-array 0 :element-type 'character :fill-pointer 0)确实对我有用,但感觉不对。

用填充指针初始化字符串的正确方法是什么?

最佳答案

(make-array estimated-size-of-final-string
:element-type 'character :fill-pointer 0)

(如果估计不准确,也可以使用 :adjustable t)是一种方法;为了累积输出以生成字符串,使用 with-output-to-string 可能更惯用:
(with-output-to-string (stream)
(loop repeat 8 do (format stream "~v,,,'-@A~%" (random 80) #\x)))

=>

"----------------------------------x
--------x
--------------------------------------x
----------------------------------------------------------------x
--------------x
-----------------------------------------x
---------------------------------------------------x
-----------------------------------------------------------x
"

关于string - 如何在 Common Lisp 中使用填充指针初始化字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com