Project

columnize

0.59
No release in over 3 years
Low commit activity in last 3 years
In showing a long lists, sometimes one would prefer to see the value arranged aligned in columns. Some examples include listing methods of an object or debugger commands. See Examples in the rdoc documentation for examples.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 10.1.0
>= 0
 Project Readme

Build Status Gem Version

Columnize - Format an Array as a Column-aligned String

In showing a long lists, sometimes one would prefer to see the value arranged aligned in columns. Some examples include listing methods of an object, listing debugger commands, or showing a numeric array with data aligned.

Setup

    $ irb
    >> require 'columnize'
    => true

With numeric data

>> a = (1..10).to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>> a.columnize
=> "1  2  3  4  5  6  7  8  9  10"

>> puts a.columnize :arrange_array => true, :displaywidth => 10
[ 1, 2, 3,
  4, 5, 6,
  7, 8, 9,
 10]
=> nil

>> puts a.columnize :arrange_array => true, :displaywidth => 20
[1, 2, 3,  4, 5, 6,
 7, 8, 9, 10]
=> nil

With String data

>> g = %w(bibrons golden madascar leopard mourning suras tokay)
=> ["bibrons", "golden", "madascar", "leopard", "mourning", "suras", "tokay"]

>> puts g.columnize :displaywidth => 15
bibrons   suras
golden    tokay
madascar
leopard
mourning
=> nil

>> puts g.columnize :displaywidth => 19, :colsep => ' | '
bibrons  | mourning
golden   | suras
madascar | tokay
leopard
=> nil

>> puts g.columnize :displaywidth => 18, :colsep => ' | ', :ljust => false
bibrons | suras
 golden | tokay
madascar
 leopard
mourning
=> nil

Using Columnize.columnize

>> Columnize.columnize(a)
=> "1  2  3  4  5  6  7  8  9  10"

>> puts Columnize.columnize(a, :displaywidth => 10)
1  5   9
2  6  10
3  7
4  8
=> nil

>> Columnize.columnize(g)
=> "bibrons  golden  madascar  leopard  mourning  suras  tokay"

>> puts Columnize.columnize(g, :displaywidth => 19, :colsep => ' | ')
bibrons  | mourning
golden   | suras
madascar | tokay
leopard
=> nil

Credits

This is adapted from a method of the same name from Python's cmd module.

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Warranty

You can redistribute it and/or modify it under either the terms of the GPL version 2 or the conditions listed in COPYING

Other stuff

Authors: Rocky Bernstein rockyb@rubyforge.org and Martin Davis

License: Copyright (c) 2011,2013, 2020 Rocky Bernstein