2

私はこれについてのインデントをしばらくいじっていましたが、私には正しいように見えます。誰かが私が間違っているところを見ることができますか?

deposit :: NodeType -> NodeType -> Amount -> Node
deposit (Income income) (Account bal grow) amount =
  Account (bal + transfer) grow where transfer = case amount of
    AbsoluteAmount amount  -> min income amount -- This is line 34
    RelativeAmount percent -> (min 1.0 percent) * income

私が得ているエラーメッセージは次のとおりです。

Prelude> :load BudgetFlow.hs 
[1 of 1] Compiling Main             ( BudgetFlow.hs, interpreted )

BudgetFlow.hs:34:5: parse error (possibly incorrect indentation)
Failed, modules loaded: none.

34 行目 (解析エラーのある行) が開始行ですAbsoluteAmount(上記のコメントでマークを付けました)。caseステートメントを独自の行に入れ、2 つのケースをofキーワードの右側に完全にインデントしようとしましたが、それでも同じエラー メッセージが表示されます。助けてくれてありがとう!

4

1 に答える 1

4

where句を独自の行に入れます。

deposit :: NodeType -> NodeType -> Amount -> Node
deposit (Income income) (Account bal grow) amount = Account (bal + transfer) grow
    where
        transfer = case amount of
            AbsoluteAmount amount  -> min income amount -- This is line 34
            RelativeAmount percent -> (min 1.0 percent) * income
于 2012-06-21T15:18:21.973 に答える