4
Elmには、関数の引数をHaskellのように複数の定義に一致させる方法がありますか?ハスケルからElmでの機能パターンマッチングのサポート
例:
factorial :: Int ->
factorial 0 = 1
factorial n = n * factorial (n - 1)
Elmには、関数の引数をHaskellのように複数の定義に一致させる方法がありますか?ハスケルからElmでの機能パターンマッチングのサポート
例:
factorial :: Int ->
factorial 0 = 1
factorial n = n * factorial (n - 1)
エルムでその構文のない等価ではありません。
類似の動作を達成する最も簡単な方法は、case
ステートメントでパターンマッチングを使用することです。
次の例を考えてみてください:
factorial : Int -> Int
factorial n =
case n of
0 ->
1
_ ->
n * factorial (n - 1)
上記の例から_
は、任意のパターンにマッチするワイルドカードとして機能し、この場合には、それが働いた0
おかげで異なる任意の整数です!少し冗長だが機能的。 – lookyhooky