如何仅使用succ和制作乘法函数pred?
我已经拥有的添加功能:
plus :: Integer -> Integer -> Integer
plus a b | a == 0 = b
| otherwise = succ (pred a ´plus´ b)
Run Code Online (Sandbox Code Playgroud) 我想创建一个函数,String在一个类型列表中查找[(String, Int)]并返回Int与之配对的函数String.
像这样:
?> assignmentVariable "x" [("x", 3), ("y", 4), ("z", 1)]
3
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
assignmentVariable :: String -> [(String, Int)] -> Int
assignmentVariable [] = error "list is empty"
assignmentVariable n (x:xs) = if x == n
then xs
else assignmentVariable
Run Code Online (Sandbox Code Playgroud)
我怎么写这个?
我需要为Haskell中的工作日Robertson公式编写一个函数.目前我收到一条错误消息(每个变量(A,B,C,D,E)时"不在范围内".但是,我不知道错误是什么?它可能是"在哪里"?
wochentag :: Integer -> Integer -> Integer -> String
wochentag tag monat jahr = wochentage !! fromInteger (robertson tag monat jahr) where
wochentage :: [String]
wochentage = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]
robertson :: Integer -> Integer -> Integer -> Integer
robertson tag monat jahr = D + tag +77 +E + (B quot 400) - 2 * (B quot 100) mod 77 where
A = monat + 10
B = ((monat - 14) quot 12) + jahr
C = A - 12 …Run Code Online (Sandbox Code Playgroud)