From 9230acbbb8d74134ab9aaf9917f6d4b4349dcce3 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 14 May 2012 17:04:52 -0700 Subject: [PATCH] assocs.extras: adding deep-at. --- extra/assocs/extras/extras-tests.factor | 7 +++++++ extra/assocs/extras/extras.factor | 2 ++ 2 files changed, 9 insertions(+) create mode 100644 extra/assocs/extras/extras-tests.factor diff --git a/extra/assocs/extras/extras-tests.factor b/extra/assocs/extras/extras-tests.factor new file mode 100644 index 0000000000..b70819b9fb --- /dev/null +++ b/extra/assocs/extras/extras-tests.factor @@ -0,0 +1,7 @@ + +USING: assocs.extras tools.test ; + +IN: assocs.extras + +{ f } [ H{ } { 1 2 3 } deep-at ] unit-test +{ 4 } [ H{ { 1 H{ { 2 H{ { 3 4 } } } } } } { 1 2 3 } deep-at ] unit-test diff --git a/extra/assocs/extras/extras.factor b/extra/assocs/extras/extras.factor index 8fd267cbc8..18b8478042 100644 --- a/extra/assocs/extras/extras.factor +++ b/extra/assocs/extras/extras.factor @@ -11,3 +11,5 @@ IN: assocs.extras : assoc-sift ( assoc -- assoc' ) [ nip ] assoc-filter ; inline +: deep-at ( assoc seq -- value/f ) + [ swap at ] each ; -- 2.34.1