Haskell

Real World Haskell 3章 練習問題 1〜8

1.リストの要素数を数える関数 myLength [] = 0 myLenght (x:xs) = 1 + (myLength xs) 2.型シグネチャをつける ghciで:tするだけ。 myLength :: [a] -> Int myLength [] = 0 myLenght (x:xs) = 1 + (myLength xs) 3.リストの平均 mean :: Fractional a => [a…

lastButOne(Real World Haskell 2章)

練習問題 2. lastButOneという関数を書きなさい。この関数は最後の1つ前の要素を返す関数です。 解 再帰にすこしずつ慣れていく。 lastButOne :: [a] -> a lastButOne xs = if length xs == 2 then head xs else lastButOne (tail xs) 練習問題 3. lastButOn…

Real World Haskell 2章でつまづいたところ

myDrop n xs = if n <= 0 || null xs then xs else myDrop (n - 1) (tail xs) をmyDrop.hsとして保存して、ghci上でロードする。 Prelude> :load myDrop.hs [1 of 1] Compiling Main ( myDrop.hs, interpreted ) Ok, modules loaded: Main. *Main> myDrop 7 …