From a2143a9868c6371e12f9f185b2e81b3ca36a176b Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 13 Sep 2024 03:01:08 +0100 Subject: vectors: Add vector-filter-map. * ravanan/work/vectors.scm (vector-filter-map): New public function. --- ravanan/work/vectors.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ravanan/work/vectors.scm b/ravanan/work/vectors.scm index 160ff3e..45c87cb 100644 --- a/ravanan/work/vectors.scm +++ b/ravanan/work/vectors.scm @@ -29,6 +29,7 @@ vector-append-map->list map->vector vector-filter + vector-filter-map vector-filter-map->list vector-remove vector-find) @@ -80,6 +81,11 @@ together." "Return a vector with elements from @var{vec} that pass @var{pred}." (list->vector (filter pred (vector->list vec)))) +(define (vector-filter-map proc vec) + "Map @var{proc} over @var{vec} and return a vector of the results that are not +@code{#f}." + (list->vector (filter-map proc (vector->list vec)))) + (define (vector-filter-map->list proc vec) "Map @var{proc} over @var{vec} and return a list of the results that are not @code{#f}." -- cgit v1.2.3