format method
String
format({
- Printer<
T> ? valuePrinter, - Printer<
String> ? paddingPrinter, - Printer<
String> ? ellipsesPrinter, - bool limit = true,
- int leadingItems = 3,
- int trailingItems = 3,
- String horizontalSeparator = ' ',
- String verticalSeparator = '\n',
- String horizontalEllipses = '\u2026',
- String verticalEllipses = '\u22ee',
- String diagonalEllipses = '\u22f1',
Returns a human readable representation of the matrix.
Implementation
String format({
Printer<T>? valuePrinter,
Printer<String>? paddingPrinter,
Printer<String>? ellipsesPrinter,
bool limit = true,
int leadingItems = 3,
int trailingItems = 3,
String horizontalSeparator = ' ',
String verticalSeparator = '\n',
String horizontalEllipses = '\u2026',
String verticalEllipses = '\u22ee',
String diagonalEllipses = '\u22f1',
}) {
final buffer = StringBuffer();
valuePrinter ??= dataType.printer;
paddingPrinter ??= const StandardPrinter<String>();
ellipsesPrinter ??= const StandardPrinter<String>();
for (var r = 0; r < rowCount; r++) {
if (r > 0) {
buffer.write(verticalSeparator);
}
if (limit && leadingItems <= r && r < rowCount - trailingItems) {
final ellipsesVector =
Vector.constant(DataType.string, colCount, value: verticalEllipses);
buffer.write(ellipsesVector.format(
valuePrinter: ellipsesPrinter,
paddingPrinter: paddingPrinter,
ellipsesPrinter: ellipsesPrinter,
limit: limit,
leadingItems: leadingItems,
trailingItems: trailingItems,
separator: horizontalSeparator,
ellipses: diagonalEllipses,
));
r = rowCount - trailingItems - 1;
} else {
buffer.write(rowUnchecked(r).format(
valuePrinter: valuePrinter,
paddingPrinter: paddingPrinter,
ellipsesPrinter: ellipsesPrinter,
limit: limit,
leadingItems: leadingItems,
trailingItems: trailingItems,
separator: horizontalSeparator,
ellipses: horizontalEllipses,
));
}
}
return buffer.toString();
}