PDF::Writer:PDF::SimpleTable#column_order, #column_order=

require 'pdf/simpletable'

pdf = PDF::Writer.new

PDF::SimpleTable.new do |tab|
  p tab.column_order
  tab.column_order = %w(col1 col2 col3)
  p tab.column_order

  data = [
    { "col1" => "foo", "col2" => "bar", "col3" => "baz" },
  ]

  tab.data.replace data
  tab.render_on(pdf)
end

pdf.save_as("2008031400.pdf")

で、

[]
["col1", "col2", "col3"]
  • なんで、push や replace なんて使っていたのだろう?
  • 説明の後半の意味が分からない。と思ったが、データに column にないキーを書いておいても大丈夫だし、column_order で指定した column のみ表示されるよということかな?