格式 - 帮助打印表格

2024-03-15

这个问题可能会以捂脸结束,但我已经尝试了一段时间,尽管阅读了超规范,但仍然卡住了。

基本上我想做的是

(format t "~{|~{ ~5d~}|~%~}" '((1 23 2 312) (23 456 1 7890)))

但不应该对 5 进行硬编码,而是应该从列表中计算(任何嵌套列表中最长元素的长度 + 1),给出类似的结果

|    1    23     2   312|
|   23   456     1  7890|      

也许我在这里想得太复杂了,有一种更简单的方法可以做我想做的事,但我想我让自己陷入了一个无法摆脱的心理困境。


我认为你有两个选择:让formatmagic go 并使用其他循环结构或生成格式字符串本身:

(defun facepalm-printer (lol)
  (format t (format nil "~~{|~~{ ~~~ad~~}|~~%~~}"
                    (longest-member lol))
          lol))

的定义longest-member留给读者作为练习。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

格式 - 帮助打印表格 的相关文章

  • 如何仅将列表中每个字符串的标题大写?

    整个问题 编写一个函数 该函数将字符串列表作为参数 并返回一个包含每个大写字符串作为标题的列表 也就是说 如果输入参数是 apple pie brownies chocolate dulce de leche eclairs 你的函数应该返
  • Scheme/Lisp 嵌套循环和递归

    我正在尝试解决方案中的一个问题 该问题要求我使用嵌套循环或嵌套递归 例如我有两个列表 我必须检查它们的笛卡尔积的条件 解决这些类型问题的最佳方法是什么 有关如何简化这些类型的函数的任何指示吗 I ll elaborate a bit sin
  • 文件上传控件仅上传PDF

    我有一个像这样的文件控件 div class form group Html LabelFor m gt m File new class col md 2 control label div class col md 10 Html Te
  • printf 字符串,可变长度项

    define SIZE 9 int number 5 char letters SIZE this wont be null terminated char fmt string 20 sprintf fmt string d ds SIZ
  • 有没有办法将 Excel 单元格条目转换为一致的日期和时间格式?

    我正在处理雨量计数据记录器生成的 csv 文件中的一些雨量计数据 我发现日期和时间的记录不一致 以以下两种格式之一交替显示 Format 1 mm dd yyyy hh mm 24 hour clock or Format 2 mm dd
  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • 格式化多维数组 Python

    如何编写代码来更改多维数组中每个单独数组的值a出现负值后立即归零 所以里面的第二个数组a有负值 12 34 5 6 88 10 30 75 10 会将其所有值及其后的值转为零 将数组变成 12 34 5 6 88 0 0 0 我怎样才能获得
  • 试图理解 setf + aref “魔法”

    我现在已经了解了数组和aref在 Lisp 中 到目前为止 它很容易掌握 而且它的作用就像一个魅力 defparameter foo make array 5 aref foo 0 gt nil setf aref foo 0 23 are
  • SBCL初始化文件

    我想知道应该在哪里保存 sbclrc 文件 我尝试将其保存在我的 sbcl 文件夹中 但它似乎不起作用 我使用的是 Windows XP 和 Emacs 版本 23 我正在尝试设置 asdf install 这就是为什么我要修改初始化文件
  • 正则表达式:如何找到模式的最大整数值?

    想象一下我有以下字符串 I ll have some 1 some 42 and maybe some 5 as well 基本上 我有兴趣了解遵循模式 integer 的最大整数值 我什至不确定是否可以使用正则表达式 我可以使用什么正则表
  • 输入类型货币格式,带逗号和小数位 2

    我只是想问如何制作输入类型文本的货币格式的JavaScript 当您输入数字时 数字是否可能带有逗号 另外 如何使数字固定为 2 个小数 如果我输入 3 位小数 最后一个数字将四舍五入 因此可以是 2 位小数 我有一个仅接受数字的文本框 我
  • Common Lisp 相当于 format 函数中的 \r 吗?

    基本上 我想只使用 Common Lisp 而不是 Python 来执行以下操作 print Hello world r n 我可以做到这一点 但它只输出 newline字符和跳过 return format t Hello world 我
  • setf中的f代表什么?

    LISP 有setf函数给变量赋值 现在我一直想知道该函数的名称 Theset部分是显而易见的 但是什么是f后缀代表 F的实际含义经常被忘记 根据一些消息来源 f 后缀可以代表 字段 例如参见这个answer https stackover
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • Lisp 中的十进制到二进制 - 制作非嵌套列表

    当达到我的递归情况时 我使用list将未来结果附加到当前结果 但由于递归 我最终得到一个嵌套列表 当我有一个导致递归超过五次的数字时 这会导致错误 任何想法如何我可以在一个简单的非嵌套列表中获得结果 例如 CL 用户 100 8 gt BI
  • .doc 格式如何工作?

    我最近了解了 docx 文件的基本结构 它是一个特殊结构的 zip 存档 但是 docx 的格式与 doc 不同 doc 文件如何工作 文件格式 结构等是什么 这不是对你的问题的直接回答 但我强烈建议阅读 Joel Spolsky 的文章
  • Common Lisp 反引号/反引号:如何使用?

    我在使用 Lisp 的反引号读取宏时遇到问题 每当我尝试编写一个似乎需要使用嵌入式反引号的宏时 例如 w x y 来自保罗 格雷厄姆的ANSI 通用 Lisp 第 399 页 我不知道如何以编译的方式编写代码 通常 我的代码会收到一整串错误
  • Lisp:CHAR 既未声明也未绑定

    几天前我决定学习 通用 Lisp 我意识到这是一个相当新手的问题 对于至少有一点经验的人来说可能非常微不足道 所以基本上发生的事情是我加载 Emacs Slime 通过 Lisp in a Box 并编写我的程序 包括在下面 defun l
  • python 格式日期时间,带有“st”、“nd”、“rd”、“th”(英文序数后缀),如 PHP 的“S”

    我想要一个 python datetime 对象来输出 并在 django 中使用结果 如下所示 Thu the 2nd at 4 30 但我在python中找不到输出的方法st nd rd or th就像我可以使用 PHP 日期时间格式一
  • 如何将日期字符串解析为Date? [复制]

    这个问题在这里已经有答案了 如何将下面的日期字符串解析为Date object String target Thu Sep 28 20 29 30 JST 2000 DateFormat df new SimpleDateFormat E

随机推荐