2010-12-05 120 views
63

我需要一个获取两个Int s(ab)并返回A/B作为Int的函数。我确信A/B将始终是一个整数。将Int分配给Int并返回Int

这里是我的解决方案:

myDiv :: Int -> Int -> Int 
myDiv a b = 
     let x = fromIntegral a 
      y = fromIntegral b 
     in truncate (x/y) 

但想找到更简单的解决方案。类似这样的:

myDiv :: Int -> Int -> Int 
myDiv a b = a/b 

如何将Int分配给Int并获取Int?

回答

112

为什么不只是使用quot

quot a b 

是整数a和b截成零的整数商。

+6

或'A \`QUOT \`B`的缀爱好者(哇,你其实可以逃脱insice与反斜线反引号反引号?)。 – delnan 2010-12-05 14:08:53

0

这里就是我所做的让我自己:

quot' a b 
     | a<b = 0 -- base case 
     | otherwise = 1 + quot' a-b b