summaryrefslogtreecommitdiff
path: root/src/eval/methods.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-05-30 10:31:31 +0200
committerLaurenz <laurmaedje@gmail.com>2022-05-30 10:33:51 +0200
commitccb4753e24eefb5b8cf2acd6d25f0e2afce1c022 (patch)
tree1ccad8397a675f840c71479bf088a39263507b74 /src/eval/methods.rs
parent757615dc420b00e52eed6aad11595828e9101ba1 (diff)
Find optionally takes function instead of value
Diffstat (limited to 'src/eval/methods.rs')
-rw-r--r--src/eval/methods.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/eval/methods.rs b/src/eval/methods.rs
index e8296d23..d425e007 100644
--- a/src/eval/methods.rs
+++ b/src/eval/methods.rs
@@ -38,7 +38,9 @@ pub fn call(
"map" => Value::Array(array.map(vm, args.expect("function")?)?),
"filter" => Value::Array(array.filter(vm, args.expect("function")?)?),
"flatten" => Value::Array(array.flatten()),
- "find" => array.find(args.expect("value")?).map_or(Value::None, Value::Int),
+ "find" => array
+ .find(vm, args.expect("value or function")?)?
+ .map_or(Value::None, Value::Int),
"join" => {
let sep = args.eat()?;
let last = args.named("last")?;