我有以下功能:如何將功能放入模塊?
isSortedUp x y z = if x>y && y>z then True else False
,我希望把它放到模塊UP。
這個功能我想投入模塊向下:
isSortedDown x y z = if x<y && y<z then True else False
然後叫他們在主程序:
import System.Environment
import Up
import Down
main = do
args<-getArgs
let a = args !! 0
let b = args !! 1
let c = args !! 2
if (isSortedUp a b c) || (isSortedDown a b c) then return (True) else return(False)
如何把和調用這個函數?
新代碼 Main.hs
import System.Environment
import Up
import Down
main = do
args<-getArgs
let a = args !! 0
let b = args !! 1
let c = args !! 2
if (isSortedUp a b c) || (isSortedDown a b c) then return(True) else return(False)
Up.hs
module Up (isSortedUp) where
isSortedUp x y z = if x>y && y>z then return(True) else return(False)
Down.hs
module Down (isSortedDown) where
isSortedDown x y z = if x<y && y<z then return(True) else return(False)
就像一個小小的批評:不要寫'如果P然後是真的其他假',只要寫'P'。同樣在monad中:「如果P返回True,否則返回False」就像'return P'一樣簡單。最後,請注意'isSortedDown a b c = isSortedUp c b a'。 – Lambdageek