我需要通過應用以下兩個規則把以下輸入的輸出:是否可以使用拉鍊操縱嵌套地圖的矢量?
- 刪除具有「不」的所有矢量作爲最後一個項目
- 刪除每個地圖不具有與至少一個矢量「DS1」作爲最後一個項目
(def input
[{:simple1 [:from [:simple1 'ds1]]}
{:simple2 [:from-any [[:simple2 'nope] [:simple2 'ds1]]]}
{:walk1 [:from [:sub1 :sub2 'ds1]]}
{:unaffected [:from [:unaffected 'nope]]}
{:replaced-with-nil [:from [:the-original 'ds1]]}
{:concat1 [:concat [[:simple1 'ds1] [:simple2 'ds1]]]}
{:lookup-word [:lookup [:word 'word :word 'ds1]]}])
(def output
[{:simple1 [:from [:simple1 'ds1]]}
{:simple2 [:from-any [[:simple2 'ds1]]]}
{:walk1 [:from [:sub1 :sub2 'ds1]]}
{:replaced-with-nil [:from [:the-original 'ds1]]}
{:concat1 [:concat [[:simple1 'ds1] [:simple2 'ds1]]]}
{:lookup-word [:lookup [:word 'word :word 'ds1]]}])
我在想,如果執行這個轉變是可能的拉鍊?
您可以加入一些細節到您的文章,以什麼導致你考慮拉鍊的方式來解決這個問題? –
簡短的回答是肯定的。 –
我很驚訝沒有人提到這個問題實際上並不是**走向矢量值的地圖矢量**。示例數據中的所有地圖都有一個關鍵字,而關鍵字與所涉及的過濾無關。因此,向量中的每個映射(迭代)都可以通過一個謂詞進行饋送,該謂詞**走向矢量矢量,任意嵌套**。我會建議編輯問題並更新標題。 – muhuk