Haskell での話。リストから特定の要素を削除したくて、ググってみたけどそれらしい関数が見当たらない。需要がないはずがないと思いながらしばし考えて、filter
を使えばいいということに思い当たった。
というわけでメモ。
Prelude> let delete x xs = filter (/= x) xs Prelude> delete 3 [1..9] [1,2,4,5,6,7,8,9]
[追記]
Data.List モジュールに delete という関数があった。探し方が悪いな。
でも、この関数は上のと違って、最初にマッチした要素しか削除してくれない。
Prelude> import Data.List Prelude Data.List> delete 3 [1,3,2,3] [1,2,3]