Haskell 中的列表输出格式?
我在尝试在 Haskell 中格式化我自己类型的列表的输出时遇到问题。
我想要这样的东西:
Make | Model | Years(this is a list) <- this would be the headers if you like
-------------------
Item1 | Item1 | Item1s,Item1s
Item2 | Item2 | Item2s,Items2,Items2
^ 这将是从我的 String String [Int] 类型加载的数据。
我该如何在 Haskell 中做到这一点?
I am having trouble trying to format the output a of a list of my own type in Haskell.
I would like something like this:
Make | Model | Years(this is a list) <- this would be the headers if you like
-------------------
Item1 | Item1 | Item1s,Item1s
Item2 | Item2 | Item2s,Items2,Items2
^
This would be the data loaded from my String String [Int] type.
How would I do this in Haskell?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一般来说,我们使用“漂亮的打印”库来完成漂亮的格式化输出。您应该知道的标准是 Text.PrettyPrint。给定一个数据类型,您可以遍历该类型,构建格式良好的文档。
一个例子:
测试:
结果:
快速编写漂亮的打印机的能力是一项非常有用的技能。
Generally, we use "pretty printing" libraries to do nice formatted output. The standard one that you should know is Text.PrettyPrint. Given a data type, you can walk that type, building up a well-formated document.
An example:
Testing:
Results in:
The ability to quickly write pretty printers is an incredibly useful skill.
这是一个通用的表生成器。它计算列宽以适合最宽的行。 ColDesc 类型允许您为每列指定标题对齐方式、标题字符串、数据对齐方式以及格式化数据的函数。
运行:
结果:
Here is a generalized table generator. It calculates the column widths to fit the widest row. The
ColDesc
type allows you to specify, for each column, the title alignment, the title string, the data alignment, and a function to format the data.Running:
Results in:
像这样的东西吗?
现在,你可以做
Something like this?
Now, you can do