在C语言中用来格式化输出的printf很好用,而AS3中可以通过'+'运算符也达到同样的效果。
不过'+'运算符用户体验非常不好,有没有一个更好的方式呢?就像printf一样。
有的,mx.utils.StringUtil
有一个静态方法substitute,官方的说明如下:
使用传入的各个参数替换指定的字符串内的“{n}”标记。
参数
str:String — 要在其中进行替换的字符串。该字符串可包含 {n} 形式的特殊标记,其中 n 为从零开始的索引,它将被该索引处的其它参数(如果指定)替换。 | |
... rest — 可在 str 参数中的每个 {n} 位置被替换的其它参数,其中 n 是一个对指定值数组的整数索引值(从 0 开始)。如果第一个参数是一个数组,则该数组将用作参数列表。如此可允许在其它想要使用... rest 签名的方法中重复使用此例程。例如 public function myTracer(str:String, ... rest):void
{
label.text += StringUtil.substitute(str, rest) + "\n";
} |
用法非常简单。