284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
# File 'lib/rust/core/types/dataframe.rb', line 284
def inspect
separator = " | "
col_widths = self.column_names.map { |colname| [colname, ([colname.length] + @data[colname].map { |e| e.inspect.length }).max] }.to_h
col_widths[:rowscol] = (self.rows - 1).inspect.length + 3
result = ""
result << "-" * (col_widths.values.sum + ((col_widths.size - 1) * separator.length)) + "\n"
result << (" " * col_widths[:rowscol]) + self.column_names.map { |colname| (" " * (col_widths[colname] - colname.length)) + colname }.join(separator) + "\n"
result << "-" * (col_widths.values.sum + ((col_widths.size - 1) * separator.length)) + "\n"
self.each_with_index do |row, i|
index_part = "[" + (" " * (col_widths[:rowscol] - i.inspect.length - 3)) + "#{i}] "
row_part = row.map { |colname, value| (" " * (col_widths[colname] - value.inspect.length)) + value.inspect }.join(separator)
result << index_part + row_part + "\n"
end
result << "-" * (col_widths.values.sum + ((col_widths.size - 1) * separator.length))
return result
end
|