2007-07-20 Erlangの場合 パターンマッチ Prologに似た文法を見ていたら試したくなってきた。 rm([],_) -> []; rm([X|Xs],X) -> rm(Xs,X); rm([X|Xs],Y) -> [X|rm(Xs,Y)]. >rm:rm([1,2,3],2). [1,3]お、2行目の書き方で第1引数のリストの先頭と第2引数が等しい、という意味になってる。 Haskellみたいに rm (x:xs) y | x==y = rm xs yとガードを使わなくてもいいんだ。