関数型言語ML (SML, OCaml, etc.), Part 8 (20レス)
1-

6: 2024/11/17(日)22:38 ID:vlQbYPk+(1/2) AAS
◎Haskellで関数の定義いろいろ
factorial n =
 if n = 0 then 1 else n * factorial (n - 1)

◎ガード
factorial n
| n == 0 = 1
| otherwise = n * factorial (n - 1)

◎foldl
factorial n = foldl (*) 1 [1..n]

◎product = foldl (*) 1
factorial n = product [1..n]

◎ラムダ関数として
factorial = \n -> if n = 0 then 1 else n * factorial (n - 1)

◎末尾再帰(空白が全部1個になるので_に置き換えてます)
factorial = f 1
___where
______f a 0 = a
______f a x = f (a * x) (x - 1)
1-
あと 14 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.002s