簡體   English   中英

如何在 Haskell 中導入 .hs 文件

[英]How to import a .hs file in Haskell

我制作了一個名為time.hs的文件。 它包含一個測量另一個函數執行時間的函數。

有沒有辦法將time.hs文件導入另一個 Haskell 腳本?

我想要這樣的東西:

module Main where
import C:\Haskell\time.hs

main = do
    putStrLn "Starting..."
    time $ print answer
    putStrLn "Done."

'time.hs' 中的時間定義為:

module time where
Import <necessary modules>

time a = do
start <- getCPUTime
v <- a
end   <- getCPUTime
let diff = (fromIntegral (end - start)) / (10^12)
printf "Computation time: %0.3f sec\n" (diff :: Double)
return v

我不知道如何導入或加載單獨的.hs文件。 導入前是否需要將time.hs文件編譯為模塊?

Time.hs :

module Time where
...

script.hs

import Time
...

命令行:

ghc --make script.hs

如果模塊Time.hs與“主”模塊位於同一目錄中,則只需鍵入:

import Time

可以使用分層結構,以便您可以編寫import Utils.Time 據我所知,你想要的方式是行不通的。

有關模塊的更多信息,請參閱此處向您學習 Haskell,制作我們自己的模塊

假設我在同一目錄中有兩個文件:ModuleA.hs 和 ModuleB.hs。

模塊A.hs:

module ModuleA where
...

模塊B.hs:

module ModuleB where

import ModuleA
...

我可以做這個:

    ghc -I. --make ModuleB.hs

注意:模塊名和文件名必須相同。 否則無法編譯。 就像是

找不到模塊“...”

會發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM