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

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

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

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

如果是do_something?do_something

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

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

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

显而易见的代码是

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

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

EN

回答 1

Stack Overflow用户

发布于 2014-09-05 17:52:18

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

复制
相关文章
Haskell doctest
一定要注意格式 第一行很重要,-- |这行没有就不是一个 test。 可以对比 >>> 的个数 和 terminal里的 Examples 个数确认是否自己的所有 test 都测试了
莫听穿林
2022/05/20
3190
Haskell doctest
Haskell
这门语言在数学模型上有着很深的优势,虽然它有很多特性,让人很难接受,随着学习的深入,你才会发现这会多么有趣。
icepy
2019/06/24
8840
Haskell Platform安装
不懂了,明天写
云深无际
2020/11/03
1.1K0
Haskell Platform安装
haskell 求助
findBonding :: Eq a => (a -> a -> Bool) -> [a] -> Maybe [(a,a)]
用户6797589
2019/12/02
5530
模块_Haskell笔记2
hiding语法能够缓解命名冲突问题,但不很方便,对于存在大量命名冲突的模块,可以通过qualified保留命名空间来避免冲突
ayqy贾杰
2019/06/12
1.7K0
类型_Haskell笔记3
::读作“类型为”(has type),告诉编译器变量name是String类型(即[Char]类型)的
ayqy贾杰
2019/06/12
9200
类型_Haskell笔记3
本地使用 Haskell CodeWorld Locally
下载好之后注意看下载的版本,因为在之后的 .cabal 文件中要指定 codeworld-api 的版本
莫听穿林
2022/05/20
4990
本地使用 Haskell CodeWorld Locally
ubuntu 14.04 install haskell
haskell是一种函数编程式语言,ghc是Glasgow Haskell Compiler的简称,也是Haskell Platform的基础. 下面是安装ghc的步骤:
pydata
2018/08/02
7290
Monad_Haskell笔记10
从类型来看,Functor到Applicative再到Monad是从一般到特殊的递进过程(Monad是特殊的Applicative,Applicative是特殊的Functor)
ayqy贾杰
2019/06/12
7410
learn-haskell
引言 Haskell不同于Scala,是一门纯函数式语言,它强制使用者使用函数式语法而没有妥协。 是一门强类型定义的静态类型语言。它的**类型模型基于推断理论(in-ferred)**并被公认为是函数语言中最高效的类型系统之一。你会发现该类型系统支持多态语义并有助于人们作出十分整洁清晰的设计。 支持Erlang风格的模式匹配(pattern matching)和哨兵表达式。你也能在Haskell中发现Clojure风格的惰性求值(lazyevaluation)以及与Clojure和Erlang相同的列表推导
刘笑江
2018/05/28
1.1K0
Zipper_Haskell笔记13
数据结构不可变,所以对其进行增、删、改等操作的结果只能是重新创建一份新的数据结构,例如:
ayqy贾杰
2019/06/12
5190
Zipper_Haskell笔记13
函数curry化(Haskell Curry)
当一个函数fn有多个参数时,可以先传入一部分参数,生成一个中继函数nextFn,然后在nextFn当中再传入剩下的参数。(一步curry化)
elson
2020/01/02
1.3K0
基础语法_Haskell笔记1
Haskell是一种纯函数式语言(purely functional programming language),其函数式特性的纯度没有争议
ayqy贾杰
2019/06/12
1.9K0
newtype_Haskell笔记8
在List场景,xs <*> ys表示从左侧xs中取出函数作用于右侧ys中的每一项,有两种实现方式:
ayqy贾杰
2019/06/12
6210
深入typeclass_Haskell笔记4
OOP中的Class是对象模板,用来描述现实事物,并封装其内部状态。FP中没有内部状态一说,所以Class在函数式上下文指的就是接口。派生自某类(deriving (SomeTypeclass))是说具有某类定义的行为,相当于OOP中的实现了某个接口,所以具有接口定义的行为
ayqy贾杰
2019/06/12
5110
Monoid_Haskell笔记9
数学世界里,0是加法单位元,1是乘法单位元(identity element),例如:
ayqy贾杰
2019/06/12
8380
Functor与Applicative_Haskell笔记7
常见的Functor类实例似乎都可以比作盒子(或者叫容器),比如Maybe/Either,List([]):
ayqy贾杰
2019/06/12
5970
Functor与Applicative_Haskell笔记7
铁定不纯的IO_Haskell笔记5
一直有个疑惑,Haskell号称纯函数式语言,那么铁定不纯的场景(肯定有副作用,或者操作本身就是副作用)如何解决?
ayqy贾杰
2019/06/12
1.3K0
从惰性IO说起_Haskell笔记6
从硬盘读文件时并不会一次性全读入内存,而是一点一点的流式读取。文本文件的话,默认buffer是line-buffering,即一次读一行,二进制文件的话,默认buffer是block-buffering,一次读一个chunk,其具体大小取决于操作系统
ayqy贾杰
2019/06/12
2.3K0
算法好等同于编程能力强吗?
算法和编程不是同等而言,学好编程包含层面很多,基础的编程语言,良好的逻辑思维能力(算法算是包含在这个层面),编程最核心的是编程思想。 相比而言算法是编程基础里面占比相对高点,但不是全部。现在大致分析下
程序员互动联盟
2018/04/17
1.7K0
算法好等同于编程能力强吗?

相似问题

等同于铁锈include_str!在Haskell

16

等同于python中的Haskell scanl

41

haskell mtl/transformers等同于镜头缩放状态

114

Haskell有没有等同于Sage的东西?

40

这个Haskell代码是否等同于这个Python代码?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文