Produce Callable for given format specification
class Formatter { }
The Formatter class does not produce any instances of itself, but instead serves as an access point to the "change a 'sprintf' compatible format specification into Callable" functionality.
Available as of the 2023.06 release of the Rakudo compiler. Requires language level 6.e.
use v6.e.PREVIEW;
my &handle = Formatter.new("'%5s'");
say handle("foo"); # OUTPUT: «' foo'»
method new($format --> Callable:D)
Returns a cached Callable object from a sprintf compatible format string. Will create a new Callable object if the given format string had not been seen before.
use v6.e.PREVIEW;
my &zero5 = Formatter.new("%05d");
say zero5(42); # OUTPUT: «00042»
method CODE(--> Callable:D)
Returns an uncached Callable object from a sprintf compatible format string. Intended to be used in compile-time situations where caching is neither important nor wanted.
method AST(--> RakuAST::Node:D)
Returns a RakuAST representation of the Callable for the given sprintf compatible format string. Intended to be used for debugging.