19.6.108. Printf(创建并存储格式化字符串)
语法 :
Printf (FormatString, FormatArgs) => String
参数
Printf 是一个宏,它将求值后的 FormatString 转换为一系列字符串 Concatenate 操作,并将结果存储到 Debug 对象中。
FormatString 是一个字符串字面量,其中可以包含一个或多个格式说明符 %o,用于指示字符串中可插入对象的位置。由于结果对象是字符串,且类型转换由 Concatenate 自动处理,因此 %o 是唯一受支持的格式说明符。
FormatArgs 是一个以逗号分隔的命名对象、本地对象或参数对象列表,它们可以求值为字符串。每个参数都会按照出现顺序,在 %o 指定的位置通过 Concatenate 操作添加到 FormatString 中。
说明
Printf 宏将格式字符串转换为一系列级联的字符串 Concatenate 操作,并将结果存储到 Debug 对象中
示例
以下 ASL 示例使用 Printf 将包含 Arg0、Arg1、Arg2 和 Arg3 值的格式化字符串写入 Debug 对象:
Printf ("%o: Unexpected value for %o, %o at line %o", Arg0, Arg1, Arg2, Arg3)
此 Printf 宏表达式求值为以下 ASL 操作:
Store (Concatenate (Concatenate (Concatenate (Concatenate
(Concatenate (Concatenate (Concatenate ("", Arg0),
": Unexpected value for "), Arg1), ", "), Arg2),
" at line "), Arg3), Debug)