Internal class for formatting the data for a column.
pillar_shaft()
is a coercion method that must be implemented
for your data type to display it in a tibble.
This class comes with a default method for print()
that calls format()
.
If print()
is called without width
argument, the natural width will be
used when calling format()
.
Usually there's no need to implement this method for your subclass.
Your subclass must implement format()
, the default implementation just
raises an error.
Your format()
method can assume a valid value for the width
argument.
Usage
pillar_shaft(x, ...)
# S3 method for class 'pillar_shaft'
print(x, width = NULL, ...)
# S3 method for class 'pillar_shaft'
format(x, width, ...)
# S3 method for class 'logical'
pillar_shaft(x, ...)
# S3 method for class 'numeric'
pillar_shaft(x, ..., sigfig = NULL)
# S3 method for class 'Date'
pillar_shaft(x, ...)
# S3 method for class 'POSIXt'
pillar_shaft(x, ...)
# S3 method for class 'character'
pillar_shaft(x, ..., min_width = NULL)
# S3 method for class 'glue'
pillar_shaft(x, ..., min_width = NULL, na_indent = 0L, shorten = NULL)
# S3 method for class 'list'
pillar_shaft(x, ...)
# S3 method for class 'factor'
pillar_shaft(x, ...)
# S3 method for class 'AsIs'
pillar_shaft(x, ...)
# Default S3 method
pillar_shaft(x, ...)
Arguments
- x
A vector to format
- ...
Arguments passed to methods.
- width
Width for printing and formatting.
- sigfig
Deprecated, use
num()
orset_num_opts()
on the data instead.- min_width
Deprecated, use
char()
orset_char_opts()
on the data instead.- na_indent
Indentation of
NA
values.- shorten
How to abbreviate the data if necessary:
"back"
(default): add an ellipsis at the end"front"
: add an ellipsis at the front"mid"
: add an ellipsis in the middle"abbreviate"
: useabbreviate()
Details
The default method will currently format via format()
,
but you should not rely on this behavior.
Examples
pillar_shaft(1:3)
#> <pillar_ornament>
#> 1
#> 2
#> 3
pillar_shaft(1.5:3.5)
#> <pillar_ornament>
#> 1.5
#> 2.5
#> 3.5
pillar_shaft(NA)
#> <pillar_ornament>
#> NA
pillar_shaft(c(1:3, NA))
#> <pillar_ornament>
#> 1
#> 2
#> 3
#> NA