我不知道为什么我的程序不起作用,我的ghci总是在输入if
"上显示以下"解析错误。
这是我的代码:
import Data.List
import System.IO
bonuspunkte c d a b =
if (a > 480) then replace a "480" else use a
if (b > 375) then replace b "375" else use b
if (c == True) && (d == True)
then (11.5 *(a/480)) + (8.5 *(b/375))
else 0
我也不太确定"替换"操作,我的想法是,如果a大于480,那么你应该继续使用480。与b相同。 如果有人能帮助我,我将非常感激。
答案 0 :(得分:4)
您无法在Haskell中更改变量绑定的值。但是,您可以创建一个新的变量名称。
bonuspunkte a b c d =
let a' = min 480 a
b' = min 375 b
in if c && d then (11.5 *(a'/480)) + (8.5 *(b'/375))
else 0
请注意变量a'
和b'
- 而非a
和b
- 如何在if-then-else语句的公式中使用。
还要注意缩进。像Python一样,Haskell是一种缩进的重要语言。