haskell-jp:516
From: Maehara Masahide <maehrm@g...>
Date: Sun, 31 Jan 2010 17:09:40 +0900 (JST)
Subject: [haskell-jp:516] Re: Real Wold Haskell 3章の練習問題
前原と申します。 On Sun, 31 Jan 2010 09:52:12 +0900, Nonaka Akira <nonaka@m...> wrote: > あいかわらずReal Wold Haskellを少しずつ読んでいます.3章の練習問題 > (P72)をやってみました.宜しければ識者の方の添削をお願いします. 添削ではなくて便乗質問です。。。すみません。 練習問題3を解くときに疑問に思ったことがありました。練習問題3は,「リス トの平均値を計算する関数を書きなさい。」という問題です。fromIntegral関 数を使って…というヒントがあったので,以下のように作成してみました。 Prelude> let average xs = sum xs / fromIntegral (length xs) Prelude> average [1,2,3,4] 2.5 正常に動作しているようですので,ここで終われば良かったのですが, Prelude> 10 / 4 2.5 と実行すると,分母,分子とも整数でも計算できることが分かりましたので, fromIntegralを除いて定義しても良いのでは思いました。しかし,以下のよう にエラーが出力されます。 Prelude> let average xs = sum xs / (length xs) <interactive>:1:17: No instance for (Fractional Int) arising from a use of `/' at <interactive>:1:17-36 Possible fix: add an instance declaration for (Fractional Int) In the expression: sum xs / (length xs) In the definition of `average': average xs = sum xs / (length xs) Haskellは,型をしっかり扱わなければならないので,上記のエラーが出たの は納得出来るのですが,そうであれば,10 / 4 もエラーが出てくれると,す べて納得出来るのにと思ってしまいます。 この件は, http://d.hatena.ne.jp/rahaema/20100114 に書き,もう忘れかけていたのですが,野中さんのメールを見て,便乗させて いただきました。アドバイスがいただければ幸いです。 では。 -- 宮崎県立都城工業高等学校(情報制御システム科) 前原 正英 <maehrm@g...>
515 2010-01-31 09:52 [nonaka@m... ] Real Wold Haskell 3章の練習問題 -> 516 2010-01-31 17:09 ┣[maehrm@g... ] 517 2010-01-31 19:07 ┃┗[nonowarn@g... ] Re: [haskell-jp:516] Re: Real Wold Haskell 3章の練習問題 520 2010-01-31 20:56 ┃ ┗[maehrm@g... ] Re: Real Wold Haskell 3章の練習問題 521 2010-01-31 22:11 ┃ ┗[nonowarn@g... ] Re: [haskell-jp:520] Re: Real Wold Haskell 3章の練習問題 518 2010-01-31 19:24 ┣[nonowarn@g... ] Re: [haskell-jp:515] Real Wold Haskell 3章の練習問題 @ 519 2010-01-31 19:35 ┃┗[nonaka@m... ] 522 2010-02-01 09:16 ┗[ikegami.da@g... ] Re: [haskell-jp:515] Real Wold Haskell 3章の練習問題 523 2010-02-01 09:34 ┗[ikegami.da@g... ] 524 2010-02-01 10:40 ┗[ikegami.da@g... ] 525 2010-02-01 22:04 ┗[masahiro.sakai@g... ] Re: Real Wold Haskell 3章の練習問題 526 2010-02-03 12:53 ┗[ikegami.da@g... ] Re: [haskell-jp:525] Re: Real Wold Haskell 3章の練習問題