相当于红宝石......?在哈斯克尔

时间:2014-09-05 16:36:43

标签: haskell naming

在ruby中?允许在标识符的末尾,允许像

这样的内容

如果do_something?       do_something

允许不同的功能使bool从功能上做某事。

在Haskell中,显然类型签名告诉你这两个函数之间的区别,但是有一个名称约定或命名模式来命名bool或选项吗?

在我的情况下,我想根据选项的值(作为参数传递)生成(或不生成)某些标签。

明显的代码是

generate options = do
     when (generateLabels? options) generateLabels

但由于generateLabels?不是有效名称,我该怎么称呼它?

1 个答案:

答案 0 :(得分:6)

如果您浏览函数that return Bool,您会注意到约定是使用谓词,当在代码中使用时,它就像句子一样。例如:

isDenormalized :: RealFloat a => a -> Bool
isSigned :: Bits a => a -> Bool
isAlphaNum :: Char -> Bool

在您的功能中,我建议您将generateLables?重命名为needsLabels,如@bheklilr指出的那样,以使您的代码更具可读性。