11

在一个文件中,我需要使用常规的前奏(++)运算符,并且我还希望为(++). 我import Prelude hiding (++)在文件顶部使用过,定义了自己的(++)运算符,现在在下面我希望参考常规 Prelude 的(++). 我如何实现这一目标?

4

2 回答 2

24

import qualified Prelude

此外

import Prelude hiding ((++))

在代码的开头,写在 PreludePrelude.++中需要的地方。++

于 2011-11-06T22:25:14.660 回答
4

正如 Tsuyoshi Ito 解释的那样,您可以通过模块名称来限定操作员。但是,由于通过定义您自己的版本,(++)您很可能希望增加程序的可读性,因此稍后用其模块名称限定运算符似乎是一种奇怪的措施。

看看这个:"abc" Prelude.++ "def" 现在很难看。

为什么不简单地创建一个新的运算符,<++>比如 `append` 之类的中缀函数?

于 2011-11-06T22:40:08.373 回答