gpt4 book ai didi

Haskell:我如何使用 "2 functions with the same name"?

转载 作者:行者123 更新时间:2023-12-04 16:34:20 24 4
gpt4 key购买 nike

Haskell:如何使用具有相同名称但属于不同包的函数?

这是我的代码

 insert a = a
insert2 a = Data.List.insert 4 [1,3,5,7,9]

错误是:

不在范围内:数据构造函数“Data.List”。

即使我把它改成
Data.List::insert 4 [1,3,5,7,9]   --the error still exists

我该如何解决。

最佳答案

你几乎拥有它:

Data.List.insert 4 [1, 3, 5, 7, 9]


Main.insert 4 [1, 3, 5, 7, 9]
-- or if not in Main
Full.Qualified.CurrentPackage.insert 4 [1, 3, 5, 7, 9]

但是你必须先导入包。我会推荐
import qualified Data.List
-- or
import qualified Data.List as L

如果你使用第二种形式,你可以这样做
L.insert 4 [1, 3, 5, 7, 9]

作为一个完整的例子,你的文件可能看起来像
module Main where

import qualified Data.List
import qualified Data.List as L

insert x xs = undefined -- Fill in your implementation here

main = do
print $ insert 4 [1, 3, 5, 7, 9]
print $ Main.insert 4 [1, 3, 5, 7, 9]
print $ Data.List.insert 4 [1, 3, 5, 7, 9]
print $ L.insert 4 [1, 3, 5, 7, 9]

所有这些都会起作用。

关于Haskell:我如何使用 "2 functions with the same name"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21444644/

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