class pclTextBox::Format
sys::Obj pclTextBox::Format
Functions for formatting or rearranging text.
- numStr
-
static Str numStr(Num number, Int width := 0, Int precision := 0)
Formats the given number into a string.
width
specifies the width of the final string: left-padded if positive, or right-padded if negative.precision
specifies the number of decimal points to display.
Examples:
Format.numStr(3, 4) => " 3" Format.numStr(-3.123f, -8, 2) => "-3.12 "
- show
-
static Void show(Str formatStr, Obj?[] arguments := Obj?[,])
Takes a format string containing a number of template markers and displays to current out a string with the markers filled with a representation of the corresponding argument.
Template markers include:
~[w]a writes its argument using toStr with optional width ~[w[,d]]F writes a numerical argument with optional width and precision ~~ writes a tilde
The optional width will pad its argument left (if positive) or right (if negative).
It is an error if a non-numerical argument is provided for the ~F marker, or if there are insufficient arguments to cover all markers in the format string.
Examples
Format.show("hello ~a", ["world"]) => "hello world" Format.show("~5a = ~10,5F", ["pi", Float.pi]) => " pi = 3.14159"
- showOut
-
static Void showOut(OutStream out, Str formatStr, Obj?[] arguments := Obj?[,])
Same as
show
but writes output to the given OutStream - showStr
-
static Str showStr(Str formatStr, Obj?[] arguments := Obj?[,])
Same as
show
but returns the output as a Str - wordWrap
-
static Str[] wordWrap(Str text, Int width)
Given a string and a target width, the algorithm returns a list of strings, each string representing a line with words wrapped based on the target width. Word wrap uses a greedy algorithm, minimising the number of returned lines.
- wordsWithCommas
-
static Str wordsWithCommas(Str[] words, Bool oxfordComma := false)
Returns a string with the given words separated by commas and "and" before the last item. Optional argument is a flag to indicate if an "Oxford comma" should be inserted before "and" for three or more items.