class Formatter { }

Formatter 类不会生成任何自身实例,而是充当“将与 'sprintf' 兼容的格式规范更改为可调用”功能的访问点。

从 Rakudo 编译器的 2023.06 版本开始提供。需要语言级别 6.e

use v6.e.PREVIEW;
my &handle = Formatter.new("'%5s'");
say handle("foo");              # OUTPUT: «'  foo'␤» 

方法§

方法 new§

method new($format --> Callable:D)

从与 sprintf 兼容的格式字符串返回一个缓存的 Callable 对象。如果之前未见过给定的格式字符串,将创建一个新的 Callable 对象。

use v6.e.PREVIEW;
my &zero5 = Formatter.new("%05d");
say zero5(42);                  # OUTPUT: «00042␤» 

方法 CODE§

method CODE(--> Callable:D)

从与 sprintf 兼容的格式字符串返回一个<un>未缓存的 Callable 对象。旨在在编译时情况下使用,此时缓存既不重要也不需要。

方法 AST§

method AST(--> RakuAST::Node:D)

返回给定与 sprintf 兼容的格式字符串的 CallableRakuAST 表示形式。旨在用于调试。