def Table(*args,&block)
table=
case(args[0])
when Array
opts = args[1] || {}
Ruport::Data::Table.new(f={:column_names => args[0]}.merge(opts),&block)
when /\.csv/
return Ruport::Data::Table.load(*args,&block)
when Hash
if file = args[0].delete(:file)
return Ruport::Data::Table.load(file,args[0],&block)
elsif string = args[0].delete(:string)
return Ruport::Data::Table.parse(string,args[0],&block)
else
return Ruport::Data::Table.new(args[0],&block)
end
else
Ruport::Data::Table.new(:data => [], :column_names => args,&block)
end
return table
end