mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2024-12-29 16:29:40 +00:00
fixed in_list bug
This commit is contained in:
parent
1d03a6aa93
commit
a73ca6368c
2 changed files with 10 additions and 2 deletions
|
@ -91,7 +91,11 @@ function slice(arr,st,end) = let(
|
|||
// in_list("bar", ["foo", "bar", "baz"]); // Returns true.
|
||||
// in_list("bee", ["foo", "bar", "baz"]); // Returns false.
|
||||
// in_list("bar", [[2,"foo"], [4,"bar"], [3,"baz"]], idx=1); // Returns true.
|
||||
function in_list(x,l,idx=undef) = search([x], l, num_returns_per_match=1, index_col_num=idx) != [[]];
|
||||
function in_list(val,list,idx=undef) =
|
||||
let( s = search([val], list, num_returns_per_match=1, index_col_num=idx)[0] )
|
||||
s==[] ? false
|
||||
: is_undef(idx) ? val==list[s]
|
||||
: val==list[s][idx];
|
||||
|
||||
|
||||
// Function: min_index()
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
include <BOSL2/std.scad>
|
||||
|
||||
|
||||
// List/Array Ops
|
||||
|
||||
module test_repeat() {
|
||||
|
@ -16,6 +15,11 @@ module test_in_list() {
|
|||
assert(in_list("bar", ["foo", "bar", "baz"]));
|
||||
assert(!in_list("bee", ["foo", "bar", "baz"]));
|
||||
assert(in_list("bar", [[2,"foo"], [4,"bar"], [3,"baz"]], idx=1));
|
||||
assert(!in_list(undef, [3,4,5]));
|
||||
assert(in_list(undef,[3,4,undef,5]));
|
||||
assert(!in_list(3,[]));
|
||||
assert(!in_list(3,[4,5,[3]]));
|
||||
|
||||
}
|
||||
test_in_list();
|
||||
|
||||
|
|
Loading…
Reference in a new issue