もしRubyistがHaskellを学んだら(9) パターンマッチによる関数定義

タグ: learning_haskell / 公開: 2013-11-19

今日はパターンマッチによる関数定義をしてみることにした。実装するのは、TrueとFasleを逆転させる論理否定を行うlnot関数だ。

Rubyで書くと以下のイメージである。

def lnot
	lnot ? false : true
end
puts false
puts true

Haskellでは、これをパターンマッチによる関数定義で実装する。

lnot :: Bool -> Bool
lnot False = True
lnot True = False

main = do
	print (lnot False)
	print (lnot True)

lnot関数は、Boolを受け取りBoolを返す。lnot FalseパターンにはTrueを、lnot TrueパターンにはFalseを返す。

試しにこのコードを実行した結果は以下のとおりだ。確かに論理否定できていることがわかる。

True
False
この記事をSNSでシェアする
タイトルとURLをコピーする
または投稿画面を開く
Author
Icon
ぺけみさお / xmisao
プログラマ。
Subscription
Recent articles
Related to learning_haskell