nim-asciitables simple terminal ascii tables for n开源项目

我要开发同款
匿名用户2021年12月17日
79阅读

技术信息

开源地址
https://github.com/didi/MeetDot
授权协议
BSD-3-Clause License

作品详情

im-asciitables

simpletermialasciitablesforim

DEPRECATION

projectisdeprecatedifavorforim-termialtables

Howtouse

asciitableshasaverysimpleapi

setHeaderstosetcolumamesaddRowtoaddarowtothetableaddRowstoaddmultiplerowsatocesuggestWidthstosuggestwidthsforeachcolumoptiosadstylescellEdgecotrolsthethecorersofeachcelldefaultis+colSeparatoristheseparatoraftereachcolumsetto|bydefaultrowSeparatoristheseparatorbetweerowsadissetto-bydefaultseparateRowsisoptiotoaddarowseparatorafterrederigeachroworot.ExampleswheisMaiModule:vart=ewAsciiTable()t.tableWidth=80t.setHeaders(@["ID","Name","Date"])t.addRow(@["1","Aaaa","2018-10-2"])t.addRow(@["2","bbvbbba","2018-10-2"])t.addRow(@["399","CCC","1018-5-2"])pritTable(t)

shouldreder

+---------------------------+---------------------------+---------------------------+|ID|Name|Date|+---------------------------+---------------------------+---------------------------+|1|Aaaa|2018-10-2|+---------------------------+---------------------------+---------------------------+|2|bbvbbba|2018-10-2|+---------------------------+---------------------------+---------------------------+|399|CCC|1018-5-2|+---------------------------+---------------------------+---------------------------+t.tableWidth=0pritTable(t)+---+-------+---------+|ID|Name|Date|+---+-------+---------+|1|Aaaa|2018-10-2|+---+-------+---------+|2|bbvbbba|2018-10-2|+---+-------+---------+|399|CCC|1018-5-2|+---+-------+---------+

adifyoudo'twatseparateRows

t.tableWidth=0t.separateRows=falsepritTable(t)+---+-------+---------+|ID|Name|Date|+---+-------+---------+|1|Aaaa|2018-10-2||2|bbvbbba|2018-10-2||399|CCC|1018-5-2|+---+-------+---------+

adtosuggestwidthsforcolums

t.reset()t.suggestWidths(@[10,80,30])t.setHeaders(@["ID","Name","Date"])t.addRow(@["1","Aaaa","2018-10-2"])t.addRow(@["2","bbvbbba","2018-10-2"])t.addRow(@["399","CCC","1018-5-2"])pritTable(t)

youwillsee

+----------+--------------------------------------------------------------------------------+------------------------------+|ID|Name|Date|+----------+--------------------------------------------------------------------------------+------------------------------+|1|Aaaa|2018-10-2|+----------+--------------------------------------------------------------------------------+------------------------------+|2|bbvbbba|2018-10-2|+----------+--------------------------------------------------------------------------------+------------------------------+|399|CCC|1018-5-2|+----------+--------------------------------------------------------------------------------+------------------------------+Why

Icould'tfidaytermialasciitablelibraryforimadIfoudmyselfwritighorriblecodelikethis

varwidths=@[0,0,0,0]#id,ame,ports,rootfork,viifo:ifle($v.id)>widths[0]:widths[0]=le($v.id)ifle($v.ame)>widths[1]:widths[1]=le($v.ame)ifle($v.ports)>widths[2]:widths[2]=le($v.ports)ifle($v.root)>widths[3]:widths[3]=le($v.root)varsumWidths=0forwiwidths:sumWidths+=wecho"-".repeat(sumWidths)letextraPaddig=5echo"|ID"&"".repeat(widths[0]+extraPaddig-4)&"|Name"&"".repeat(widths[1]+extraPaddig-6)&"|Ports"&"".repeat(widths[2]+extraPaddig-6)&"|Root"&"".repeat(widths[3]-6)echo"-".repeat(sumWidths)fork,viifo:letroot=replace(v.root,"https://hub.grid.tf/","").strip()echo"|"&$v.id&"".repeat(widths[0]-le($v.id)-1+extraPaddig)&"|"&v.ame&"".repeat(widths[1]-le(v.ame)-1+extraPaddig)&"|"&v.ports&"".repeat(widths[2]-le(v.ports)+extraPaddig)&"|"&root&"".repeat(widths[3]-le(v.root)+extraPaddig-2)&"|"echo"-".repeat(sumWidths)result=""

Pullrequestsareverywelcome:)

功能介绍

nim-asciitables simple terminal ascii tables for nim DEPRECATION project is deprecated in favor f...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论