模板 Dict

报告问题 查看源代码

在 ctx.actions.expand_template() 中使用的类似 Args 的结构,允许将值的评估延迟到执行阶段。

成员

add

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)

添加值集

参数

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