From 4938b09005dfcca258a684fff06ca5d402b03d48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Sat, 28 Feb 1998 19:45:46 -0800 Subject: [PATCH] should now handle multisets and mappings too... Rev: lib/modules/Array.pmod:1.18 --- lib/modules/Array.pmod | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod index 874950c843..85c5796506 100644 --- a/lib/modules/Array.pmod +++ b/lib/modules/Array.pmod @@ -15,6 +15,9 @@ mixed map(mixed arr, mixed fun, mixed ... args) if(mappingp(arr)) return mkmapping(indices(arr),map(values(arr),fun,@args)); + if(multisetp(arr)) + return mkmultiset(map(indices(arr,fun,@args))); + switch(sprintf("%t",fun)) { case "int": @@ -50,7 +53,13 @@ mixed filter(mixed arr, mixed fun, mixed ... args) for(e=0;e<sizeof(ret);e++) if(ret[e]) r[i[e]]=v[e]; return r; - }else{ + } + if(multisetp(arr)) + { + return mkmultiset(filter(indices(arr,fun,@args))); + } + else + { int d; ret=map(arr,fun,@args); for(e=0;e<sizeof(arr);e++) if(ret[e]) ret[d++]=arr[e]; -- GitLab