i :: Int i = 5 --add, sub :: Int -> Int -> Int add, sub :: (Num a) => a -> a -> a add a b = a + b sub a b = a - b f :: (Num a) => a -> a f x = 4 * x + 1 --出错 --area :: (Num x) => Floating -> x -> x area :: Floating a => a -> a area r = pi * (r ^ 2) fun :: (Num a) => (a, a) -> a fun (x,y) = 4 * x + 5 * y + 1 fun‘ :: (Num a) => a -> a-> a fun‘ x y = 4 * x + 5 * y + 1 --Lambda表达式 --fun‘‘ = \x -> \y -> 4 * x + 5 * y + 1 fun‘‘ :: Num a => a -> a ->a fun‘‘ = \x y -> 4 * x + 5*y + 1 plus :: Num a => a -> a -> a plus = (+) --参数绑定 --area_tri :: Float -> Float -> Float -> Float area_tri :: Floating a => a -> a -> a -> a -- let ... in area_tri a b c = let p = (a+b+c)/2 in sqrt (p * (p-a) * (p-b) * (p-c)) area_tri‘ :: Double -> Double -> Double -> Double -- where area_tri‘ a b c = sqrt (p * (p-a) * (p-b) * (p-c)) where p = ((a + b + c) / 2.0) --条件表达式 isTwo :: Int -> Bool isTwo x = if x == 2 then True else False isTwo‘ :: Int -> Bool isTwo‘ = (==2)
时间: 2024-11-05 02:39:25