tango.text.convert.Layout(r4792)
License:
BSD style: see license.txt
Version:
Initial release: 2005
Author:
Kris, Keinfarbton
这个模块提供了一个通用目的的格式系统,转换值到适合显示的文本。支持数字的调整(alignment)、对齐(justification)通用格式说明符。
Layout可以通过配置多种处理者( handlers)和相关元数据进行自定义。这个类被用来插入text.locale中处理自定义格式、日期/时间和文化特性(culture-specific,某一文化特有的)转换。
该格式表示法(format notation )受到.NET和ICU框架的影响,而不是C风格printf和D风格writef表示法的影响。
-
class Layout(T) ¶#
- 包含成串地用每个参数的字符串等价物替换格式项的方法。 Layout instance() [static] ¶#
- 返回共享实例,注意这不是线程安全的,静态构造函数( static-ctor)用法没有得到适当的调用 (编译器 bug)。 T[] sprint(T[] result, T[] formatStr, ...) [public, final] ¶# T[] vprint(T[] result, T[] formatStr, TypeInfo[] arguments, ArgList args) [public, final] ¶# T[] convert(T[] formatStr, ...) [public, final] ¶#
- 成串地用每个参数的字符串等价物替换格式项。
参数:
formatStr | 包含格式项的字符串。 |
args | 一个参数列表。 |
返回:
- 已经用参数的字符串等价物替换了格式项的 formatStr拷贝。
备注:
-
formatStr参数被嵌入表格中格式项:
{index[,alignment][:_format-string]}
- index
一个整数,指明到格式项( _format)列表中的元素。 - alignment
一个任选的整数,指出最小的宽。如果值的长度小于alignment ,结果就用空白填充。 - _format-string
一个任选的格式代码字符串。
前大括号和后大括号是必需的。要包含一个字面上的大括号字符,使用两个前或后大括号字符。
如果formatStr是 "{0} bottles of beer on the wall" ,并且参数是一个值为99的int,返回值是:
"99 bottles of beer on the wall".
-
uint convert(Sink sink, T[] formatStr, ...) [public, final] ¶#
uint convert(OutputStream output, T[] formatStr, ...) [public, final] ¶#
- 尝试性的( Tentative)转换使用一个国(输出流)作为接收器( sink) --可能仍旧被移除。
Since:
- 0.99.7 T[] convert(TypeInfo[] arguments, ArgList args, T[] formatStr) [public, final] ¶# uint convert(Sink sink, TypeInfo[] arguments, ArgList args, T[] formatStr) [public, final] ¶# uint parse(T[] layout, TypeInfo[] ti, Arg[] args, Sink sink) [private] ¶#
- 解析格式字符串( format-string),发出我们要的已格式化的参数和文字片段。 T[] dispatch(T[] result, T[] format, TypeInfo type, Arg p) [private] ¶# T[] unknown(T[] result, T[] format, TypeInfo type, Arg p) [protected] ¶#
- 处理未知类型错误。 T[] integer(T[] output, long v, T[] format, ulong mask = ulong.max, T[] def = "d") [protected] ¶#
- 格式化一个整数值 T[] floater(T[] output, real v, T[] format) [protected] ¶#
- 格式化一个浮点值。默认到小数点后两位数字。 void error(char[] msg) [private] ¶# uint spaces(Sink sink, int count) [private] ¶# T[] imaginary(T[] result, ireal val, T[] format) [private] ¶#
- 格式化一个虚数值。 T[] complex(T[] result, creal val, T[] format) [private] ¶#
- 格式化一个复数值。 T[] floatingTail(T[] result, real val, T[] format, T[] tail) [private] ¶#
- 格式化一个浮点值,并添加一个尾数( tail)给它。 enum TypeCode [private] ¶#