Format
是一个不可变对象,它包含根据兼容 sprintf
的格式规范将一组值转换为字符串的逻辑。它在各个方面都充当标准字符串,但也可以像 sprintf
一样作为带有参数的 Callable
被调用以生成字符串。
在 Rakudo 编译器的 2023.06 版本中可用。需要语言级别 6.e
。
use v6.e.PREVIEW;my = Format.new("'%5s'");say ; # OUTPUT: «'%5s'»say ("foo"); # OUTPUT: «' foo'»
方法§
方法 new§
method new( --> Format)
从兼容 sprintf
的格式字符串创建一个新的 Format
对象。
use v6.e.PREVIEW;my = Format.new("%05d");say ; # OUTPUT: «%05d»say (42); # OUTPUT: «00042»
方法 Callable§
method Callable(--> Callable)
返回从给定格式创建的 Callable
。仅用于内省目的,因为可以直接调用 Format
对象。
方法 directives§
method directives(--> List)
返回给定格式中看到的指令列表。用于内省目的。
use v6.e.PREVIEW;my = Format.new("%05d%3x:%s");say .directives; # OUTPUT: «(d x s)»
方法 arity§
method arity(--> List)
返回此格式所需的最小位置参数数。用于内省目的。
use v6.e.PREVIEW;my = Format.new("%05d%3x:%s");say .arity; # OUTPUT: «3»
方法 count§
method count(--> List)
返回此格式所需的最大位置参数数。用于内省目的。
use v6.e.PREVIEW;my = Format.new("%05d%3x:%s");say .count; # OUTPUT: «3»