我已经得到了函数:
isSortedUp x y z = if x>y && y>z then True else False
,我想把它放到UP模块。
我想把这个函数放入模块down:
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)
Haskell中的模块是按文件划分的。因此,要将isSortedDown
放在它自己的模块Down
中,您将创建一个新文件Down.hs
,并将其内容放入module
声明中:
module Down (isSortedDown) where
isSortedDown x y z = if x<y && y<z then True else False
然后,假设您的Main
模块可以访问该模块(例如,在同一目录中),它应该可以导入并可访问。
有关Haskell中模块的更多信息,请阅读:
- http://www.haskell.org/tutorial/modules.html
- http://learnyouahaskell.com/modules(特别是"制作你的own modules"部分——接近底部)
注意,您可以简单地写:
isSortedDown x y z = x<y && y<z