我想以下面的格式显示表格。我怎样才能做到这一点?
---A----+-----B-----+----C-----
12335 | abcd | qwerty
45335 | efgh | poiuy
78956 | hjukukuk | mkloijhkll
12346 | sfsfsf | vbhkhadad
编辑1: 表的内容可以是任何长度。特定单元格的宽度必须由内容本身决定。
我从
获得了列宽col_width = a.transpose.map {| col | col.map {|细胞| cell.to_s.length}的.max}
并显示表格内容: a.each {|行|把'['+ row.zip(col_width).map {| cell,w | cell.to_s.ljust(w)}。join('|')+']'}
其中'a'包含数据库中的数据。
我无法打印列标题。
如何实现这些目标,使其与表格单元格内容保持一致。
我需要在控制台中显示输出。我正在使用OCI访问数据库。
答案 0 :(得分:0)
Sequel ORM可以使用pretty_table扩展程序执行此操作。否则HIRB能够使用ActiveRecord或者数组/哈希来执行此操作。
我经常使用Sequel,偶尔需要在控制台上显示表格摘要,因此pretty_table
对我很有效。
HIRB用于IRB的irbtools插件,并为各种事物提供表输出。
在任何一种情况下,使用显示的字符串的长度动态确定显示的表格宽度,以查找列的宽度。我从来没有试过通过要求包裹在列中的任何一个来推送很长的字符串,但它们应该自动处理它,因为这是一个常见的要求。
答案 1 :(得分:0)
我写了一个宝石,可以帮助你:http://github.com/arches/table_print