ProgrammingのTipなど

再帰

Haskellでは
パターンマッチ・if文・ガードなどを使って再帰を書けます


累乗計算関数

パターンマッチを使った再帰
fact 0 = 1
fact n = n * fact (n - 1)

if文を使った再帰
fact n =
  if n == 0 then 
    1
  else 
    n * fact (n - 1) 

ガードを使った再帰
fact n 
  |n==0 = 1
  |otherwise = n * fact (n - 1) 


合計計算
パターンマッチを使った再帰
sumAll 0 = 0
sumAll n = do
  x + sumAll(n - 1)

ガードを使った再帰
sumAll n
  |n == 0 = 0
  |otherwise = n + sumAll ( n - 1 )

指定した回数ある文字列を表示

priString n str
  |n<=0 = return ()
  |otherwise = do
    print str
    priString (n - 1) str

タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニュー2

開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます