如何将功能放入模块



我已经得到了函数:

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

相关内容

  • 没有找到相关文章

最新更新