作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将一个函数定义为中缀,这样用户就不必手动用反引号包围该函数来调用它。具体来说,我正在编写一个类似 DSL 的函数,它接受一个 Rank 和 Suit 并构造一个扑克牌记录:
-- pseudocode
data PokerCard = PokerCard { rank :: Rank, suit :: Suit } deriving (Eq)
of :: Rank -> Suit -> PokerCard
r of s = PokerCard { rank = r, suit = s }
pokerDeck = [
Ace of Spades,
Two of Spades,
...
]
of
保留为
case ... of
的语法表达式,所以我必须将它重命名为
of'
,
.of
,
+of
, 等等。
最佳答案
无法使用字母数字名称作为中缀来定义函数。 Haskell 的语法规则只允许具有符号名称的函数或用反引号包围的函数名称用作中缀 - 没有办法改变它。
关于function - 如何在 Haskell 中定义中缀函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15347092/
我是一名优秀的程序员,十分优秀!