gpt4 book ai didi

Haskell *限定*导入一组函数

转载 作者:行者123 更新时间:2023-12-02 09:59:26 26 4
gpt4 key购买 nike

在 Haskell 中,我可以导入由其名称或快捷方式名称限定的模块,如下所示:

import qualified Data.List as List
import qualified Data.Map

我还可以从模块中仅导入一组选定的函数,或导入除选定集之外的所有函数,如下所示:

import Data.List (sort, intersperse)
import Data.Map hiding (findWithDefault)

是否可以导入一组特定的函数,如上面的 import Data.List (sort, intersperse) 示例中所示,但要确保仍以合格的方式标识函数,例如作为 List.sortList.intersperse

虽然这不起作用,但这正是我所要求的精神:

import qualified Data.List (sort, intersperse) as List

或者也许

import qualified Data.List as List (sort, intersperse)

最佳答案

import qualified Data.List as List (sort, intersperse)

这实际上很好并且有效。导入声明的语法如下:

5.3 Import Declarations

impdecl   →   import [qualified] modid [as modid] [impspec]

qualifiedas 确实不会阻止导入规范。这不是 Haskell2010 的新增内容,因为它是 Haskell 98 report 的一部分。 .

另一方面,你的第一个例子

import qualified Data.List (sort, intersperse) as List
-- qualified impspec! as modid
-- ^ ^
-- +--------------------+

不遵循语法,因为 impspec 必须是导入声明中的最后一个元素(如果提供)。

关于Haskell *限定*导入一组函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28017548/

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