篩選

篩選

簡單

說明

在集合上實作keep和discard操作。 給定一個集合,以及一個套用在該集合元素上的述詞,keep會回傳一個新的集合,裡面包含述詞為 true 的那些元素;而discard會回傳一個新的集合,裡面包含述詞為 false 的那些元素。

舉例來說,給定以下數字集合:

  • 1, 2, 3, 4, 5

以及這個述詞:

  • 這個數字是偶數嗎?

那麼你的 keep 操作應該會產生:

  • 2, 4

而你的 discard 操作應該會產生:

  • 1, 3, 5

請注意,keep 和 discard 的聯集就是所有的元素。

這些函式可以命名為keep和discard,但為了不和你所用語言中既有的函式或概念衝突,也可能需要取別的名字。

限制

別碰標準函式庫提供的那個 filter/reject 還是什麼碗糕的功能!請改用其他基本工具,自己解決這一題吧!

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
8th Exercism

準備好開始 篩選 了嗎?

註冊 Exercism,透過 70 個練習 和真人引導來學習並精通 8th,全部免費。