パターンマッチ
各言語で試した結果は以下のとおり Erlangの場合 できる > case [1,1,1] of [X,X,X] -> "same"; _ -> "different" end. "same" > case [1,1,2] of [X,X,X] -> "same"; _ -> "different" end. "different" Pureの場合 できる > case [1,1,1] of [x,x,x] = "sa…
できる言語 MLでは以下のように、無名関数の定義時に|で区切って複数のケースのパターンマッチが書ける http://www.geocities.jp/m_hiroi/func/smlnj05.html fn pat1 => expr1 | pat2 => expr2 | ... | patN => exprNOCamlでは以下のように書ける http://www…
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みた…