模板 Dict

一种类似于 Args 的结构,用于 ctx.actions.expand_template(),允许将值的评估推迟到执行阶段。

成员

添加

TemplateDict TemplateDict.add(key, value)

添加字符串值

形参

参数 说明
key 必需
字符串键
value 必需
字符串值

add_joined

TemplateDict TemplateDict.add_joined(key, values, *, join_with, map_each, uniquify=False, format_joined=None, allow_closure=False)

添加 depset 值

形参

参数 说明
key 必需
字符串键
values depset; 必需
将要联接的项的 depset。
join_with 必需
一个分隔符字符串,用于以与string.join()相同的方式联接通过应用map_each获得的字符串。
map_each 可调用对象; 必需
一个 Starlark 函数,接受单个实参并返回字符串、None或字符串列表。此函数应用于 values 形参中指定的 depset 的每个项
uniquify 默认值为 False
如果为 true,则会省略从 values 派生的重复字符串。每个字符串只会保留第一次出现的情况。通常不需要此功能,因为 depset 已经省略了重复项,但如果 map_each 为多个项发出相同的字符串,则此功能可能会很有用。
format_joined 字符串;或 None; 默认值为 None
应用于联接字符串的可选格式字符串模式。格式字符串必须正好有一个“%s”占位符。
allow_closure 默认值为 False
如果为 true,则允许在 map_each 等函数形参中使用闭包。通常没有必要这样做,而且这样做可能会将大型分析阶段数据结构保留到执行阶段。