我想知道是否可以这样做:

data NumeroConBase = NumeroConBase { num :: Integer, base :: Integer}

(|) :: String -> Int -> NumeroConBase


基本上,我想写344D|5并使用它。

我在"|"上遇到错误...

最佳答案

|是极少数不能在Haskell中用作运算符名称的符号序列之一。 full list是:..:::=\|<-->@~=>和注释定界符。所有这些都有特殊的句法含义。在您的情况下,单独的管道用于防护和data声明中。

(要点:限制仅在单独使用序列时才适用;因此@@-->可以正常工作。此外,以:开头的运算符只能用作data声明中的中缀构造函数。 )

07-24 12:49