规则。地图
Map类型,用于简单的键值映射。
键的类型必须是rules.String
。
除了下面列出的方法之外,地图还有以下运算符:
操作员 | 用法 |
---|---|
x == y | 比较地图 x 和 y |
x[k] | 索引运算符,获取键名 k 处的值 |
xk | 获取键名 k 处的值 |
k in x | 检查键 k 是否存在于映射 x 中 |
方法
差异
diff(map_to_compare) 返回规则.MapDiff
返回一个rules.MapDiff,表示当前Map与比较Map的比较结果。
范围 | |
---|---|
映射比较 | 将与当前(调用)Map 进行比较的 Map。 值不能为空。 |
- 退货
表示比较结果的
non-null rules.MapDiff
对象。
得到
get(key, default_value) 返回值
返回与给定搜索关键字字符串关联的值。
对于涉及键和子键的嵌套映射,返回与给定子键字符串关联的值。子键使用列表来标识,其中第一项是顶级键,最后一项是要查找并返回其值的子键。请参阅下面的嵌套 Map 示例。
如果未找到与给定搜索键的匹配项,则该函数需要返回默认值。
范围 | |
---|---|
钥匙 | (非空rules.String或非空rules.List ) 指定为字符串的键,或者对于嵌套映射,使用列表语法指定的子键。 |
默认值 | 默认值 如果地图不包含给定的搜索键,则返回值。可以是任何规则语言类型。 |
- 退货
value
与给定key
对应的值,如果未找到与给定 key 的匹配项,则由default_value
指定默认返回值。由于Map内容是用户自定义的,因此返回value
的数据类型可以是任何Rules语言类型。
例子
// "c" is not a key in the supplied Map, returns default value 7.
{"a": 3,"b": 2}.get("c", 7) == 7
// Default result can be any type, e.g. a list such as [1, 1].
{"a": [2, 7], "b": [9, 12]}.get("c", [1, 1]) == [1, 1]
// Return a list on a successful match.
{"a": [2, 7],"b": [9, 12]}.get("b", [1, 1]) == [9, 12]
// For nested Maps, use list ["a", "b"] to specify lookup on sub-key "b".
{"a": {"b": 1},"c": 2}.get(["a", "b"], 7) == 1
键
keys() 返回rules.List
获取地图中的键列表。
- 退货
non-null rules.List
列出键列表。
尺寸
size() 返回规则.Integer
获取地图中的条目数。
- 退货
non-null rules.Integer
整数条目数。
价值观
value() 返回rules.List
获取地图中的值列表。
- 退货
non-null rules.List
列出值列表。