首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >等同于红宝石...?在haskell

等同于红宝石...?在haskell
EN

Stack Overflow用户
提问于 2014-09-06 00:36:43
回答 1查看 145关注 0票数 6

在ruby中,允许在标识符的末尾使用?,这样就可以

如果是do_something?do_something

它允许区分返回bool的函数和执行某些操作的函数。

在Haskell中,很明显类型签名告诉您这两个函数之间的区别,但是命名bool或options是否有命名约定或命名模式?

在我的例子中,我希望根据选项的值(作为参数传递)生成(或不生成)一些标签。

显而易见的代码是

代码语言:javascript
代码运行次数:0
运行
复制
generate options = do
     when (generateLabels? options) generateLabels

但是由于generateLabels?不是有效的名称,我如何调用它呢?

EN

回答 1

Stack Overflow用户

发布于 2014-09-06 01:52:18

如果您浏览一下函数that return Bool,您会注意到,约定是使用谓词,当在代码中使用该谓词时,该谓词读起来像一个句子。例如:

代码语言:javascript
代码运行次数:0
运行
复制
isDenormalized :: RealFloat a => a -> Bool
isSigned :: Bits a => a -> Bool
isAlphaNum :: Char -> Bool

在您的函数中,我建议您将generateLables?重命名为类似于needsLabels的名称,以使代码更具可读性。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25690365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档