select 函数
保留满足条件或谓词的列表元素。
语法
select(condition, n, list)select(n -> condition, list)select(type, list, typeName)select(has, list, subexpression)select(predicate, list, arguments...)
参数与选项
condition | 针对每个列表元素求值的条件。 |
|---|---|
var | 变量名称。 |
list | 形如 [1, 2, 3] 的列表字面量。 |
predicate | 对每个元素返回 true 或 false 的已保存函数、箭头函数或 proc 过程。无法确定的条件报错,不会被当作满足条件。 |
arguments | 可选的额外参数,在遍历前求值一次,每次调用时放在当前元素之后。 |
示例
- 筛选较大值
select(n > 2, n, [1, 2, 3, 4])返回 [3, 4]。 - 按类型筛选
select(type, [1, x, 2.5, y], integer)返回 [1]。 - 用已保存谓词筛选
p := (x,a) -> x>a; select(p, [1,2,3,4], 2)返回 [3, 4],即大于阈值 2 的元素。