在一个文件中,我需要使用常规前奏(++)运算符,我也希望为(++)实现自己的行为。我在我的文件顶部使用了import Prelude hiding (++)
,定义了我自己的(++)运算符,现在我想进一步参考常规序言(++)。我如何实现这一目标?
答案 0 :(得分:16)
写
import qualified Prelude
除了
import Prelude hiding ((++))
在代码的开头,并在Prelude中需要Prelude.++
的地方写下++
。
答案 1 :(得分:4)
正如Tsuyoshi Ito所解释的,您可以通过其模块名称来限定运营商。但是,由于通过定义您自己的(++)
版本,您很可能希望提高程序的可读性,因此稍后对运算符的模块名称进行限定似乎是一种奇怪的措施。
看看这个:"abc" Prelude.++ "def"
现在那是丑陋的。
为什么不简单地创建一个新的运算符,如<++>
或像'append`这样的中缀函数?