模板 Dict

报告问题 查看源代码 每夜 build · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

成员

add

TemplateDict TemplateDict.add(key, value)

添加字符串值

参数

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

add_joined

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

添加值的 depset

参数

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