gpt4 book ai didi

haskell : hide function in module (i. e。使函数只能由同一模块中的其他函数使用)

转载 作者:行者123 更新时间:2023-12-05 08:59:59 24 4
gpt4 key购买 nike

假设我有一个文件 NecessaryModule.hs,它有以下内部结构:

module NecessaryModule where

addNumber1 :: Int -> Int -> Int
addNumber1 a b = a + b

addNumber2 :: Int -> Int -> Int
addNumber2 a b = a + b

当我这样做时:

:load NecessaryModule

addNumber1 和 addNumber2 在当前范围内可用。有没有办法隐藏功能 addNumber2 以便它可用于同一模块中的其他功能,但在我以上述方式加载模块时不会加载?谢谢

-------------------------------------------- ------------------------------------------

[对纳米小偷的回应]

我按照以下方式尝试了您的建议,但它对我不起作用。我有一个名为 test2.hs 的文件,如下所示:

--test2.hs
module Test2 (addNumber1) where

addNumber1 :: Int -> Int -> Int
addNumber1 a b = a + b

addNumber2 :: Int -> Int -> Int
addNumber2 a b = a + b

但是当我这样做的时候

:load test2 

然后我就可以同时调用 addNumber1 和 addNumber2。我做错了什么吗?谢谢

最佳答案

您只需在模块行指定您想要导出的方法:

module NecessaryModule (addNumber1) where
....

如果您不指定该行,默认情况下它包括所有内容。

关于 haskell : hide function in module (i. e。使函数只能由同一模块中的其他函数使用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10296185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com