im-asciitables
simpletermialasciitablesforim
DEPRECATIONprojectisdeprecatedifavorforim-termialtables
Howtouseasciitableshasaverysimpleapi
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|+----------+--------------------------------------------------------------------------------+------------------------------+WhyIcould'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:)
评论