2011-08-26 2 views
0

Je veux faire la sortie sous forme de tableau en Ruby ...sortie en rubis tabulaires

J'utilise puts "x\t\t[OK]

en supposant que x représente entré le nom de fichier, et ce processus est répété pour toujours, et en supposant que la gamme de caractères est de 5 - 20 caractères la sortie ne sera pas propre

échantillon de sortie: http://pastebin.com/kwJ9ajqj

Je veux les OKs à aligner.

+0

Ce devrait être sur StackOverflow. –

+0

Je pense que le problème est que les onglets commencent à partir de différents numéros de colonne en raison de noms de fichiers plus longs et plus courts. Pourriez-vous le changer en 'puts [OK] \ t \ tx' pour que les OK s'alignent et que les noms de fichiers commencent dans la même colonne? – sbtkd85

+0

c'est une bonne solution. mais je cours un analyseur de processus ainsi il devrait être comme ... Nom de processus \ t \ t [ok] – 0xab3d

Répondre

1

Vous pouvez remplir la longueur x-s avec des espaces au même (maximum) à l'aide ljust.

xs = [ "short", "longer string", "even a bit longer" ] 
xs.each { | x | puts "#{x.ljust(20)} [OK]" } 

Ceci alignera les "[OK]". Si vous avez besoin d'onglets, vous pouvez les insérer après le remplissage comme

puts "#{x.ljust(20)}\t\t[OK]" 
0

Utilisez le formatage de style printf:

printf("%20s %s", filename, (ok ? '[OK]' : '[FAILED]'))