2024 Clojure 使用状况调查!(a>)发表您的看法。

欢迎!请查看关于页面以获取更多关于这项工作的信息。

0
打印

当使用print-table将ASCII表格打印到标准输出时,如果任何值是含有任意新行的字符串,表格显示将损坏。例如

`
user=> (print-table [{:a "test" :b "test\ntest2"}])

| :a | :b |
|------+------------|
| test | test
test2 |
nil
`

我预期的输出应该看起来像这样

`
user=> (print-table [{:a "test" :b "test\ntest2"}])

| :a | :b |
|------+------------|
| test | test +
| | test2 |
nil
`

右边界上的+符号表示该行跨多行继续。这与PostgreSQL的psql工具显示带多行行的表格的方式类似

`
user=# select 'test' col1, E'test\ntest2\ntest3' col2;
col1 | col2
------+-------
test | test +

  | test2+
  | test3

(1 row)

时间:0.776 毫秒
`

3 答案

0

评论来自:[email protected]

JIRA破坏了我的格式,看起来我无法编辑它以修复它。以下是我本意想表达的内容

当使用print-table将ASCII表格打印到标准输出时,如果任何值是含有任意新行的字符串,表格显示将损坏。例如

`
user=> (print-table [{:a "test" :b "test\ntest2"}])

| :a | :b |
|------+------------|
| test | test
test2 |
`

我预期的输出应该看起来像这样

user=> (print-table [{:a "test" :b "test\ntest2"}]) | :a | :b | |------+------------| | test | test + | | test2 |

右边界上的+符号表示该行跨多行继续。这与PostgreSQL的psql工具显示带多行行的表格的方式类似

`
labtrack=# select 'test' col1, E'test\ntest2' col2;
col1 | col2
------+-------
test | test +

  | test2

(1 row)
`

0

评论来自:jafingerhut

我没有直接了解这一点,但我的猜测是,Clojure团队可能会将此视为增强请求,而不是缺陷。

您可以通过编写自己的 print-table 版本来更快地获得想要的结果,或者查看这些项目是否已经按照预期运行,或者作者是否愿意增强它们:https://github.com/cldwalker/tablehttps://github.com/joegallo/doric

0
参考:https://clojure.atlassian.net/browse/CLJ-1230(由 alex+import 报告)
...