私はこのようなことをしたいと思っています:
(search data
list?
(fn [x] (and (list? x) (= 4 (first x))))
(fn [x] (and (set? x) (contains x 3))))
そして、ネストされたデータ構造を再帰的に検索しますdata。
- 最初に最も浅いリスト(たとえば、セットのセットに含まれる場合があります)。
- 次に、これらのリスト内で、最初の要素がである最も浅いリストを示します
4。 - 次に、3を含む最も浅いセットのリストにあります。
- 最後に、手順3で見つかったアイテムのリストを返します。
車輪の再発明をする前に、これを行う標準的な方法はありますか?