Haskell从列表理解中获取字符串

正义

我正在学习“学习Haskell”。我有以下功能:

bmiTell :: (RealFloat a) => a -> a-> String
bmiTell weight height
  | bmi <= skinny ="underweight"
  | bmi <= normal = "ok"
  | bmi <= fat = "fat"
  | otherwise = "whale"
  where
    bmi = weight/height^2
    (skinny,normal,fat)=(18.5, 25.0,30.0)

效果很好。我现在要进行列表理解,所需的结果是这样的:

[(68,“体重不足”),(69,“确定”),(70,“确定”)]

这是我的ghci输入:

[(x,y)| x <-[68..70], y <- bmiTell x 185]

和输出是

[(68.0,'u'),(68.0,'n'),(68.0,'d'),(68.0,'e'),(68.0,'r'),(68.0,'w'),( 68.0,'e'),(68.0,'i'),(68.0,'g'),(68.0,'h'),(68.0,'t'),(69.0,'u'),(69.0, 'n'),(69.0,'d'),(69.0,'e'),(69.0,'r'),(69.0,'w'),(69.0,'e'),(69.0,'i '),(69.0,'g'),(69.0,'h'),(69.0,'t'),(70.0,'u'),(70.0,'n'),(70.0,'d') ,(70.0,'e'),(70.0,'r'),(70.0,'w'),(70.0,'e'),(70.0,'i'),(70.0,'g'),( 70.0,'h'),(70.0,'t')]

我尝试将其设置为(x,[y]),但使用“” s中的Chars而不是单引号得到相同的结果

mb21

您可以简单地使用以下map功能:

map (\w -> (w, bmiTell w 185)) [68..70]

或如@ErikR所述,使用列表理解:

[ (x, bmiTell x 185) | x <- [68..70] ]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R如何获取字符串中的字符列表

来自分类Dev

从 Bash 中的变量列表中获取字符串

来自分类Dev

PySpark-从列表中获取字符串位置

来自分类Dev

在Pandas DataFrame中获取字符串而不是列表

来自分类Dev

从以逗号分隔的列表中获取字符串

来自分类Dev

如何从列表框中获取字符串

来自分类Dev

从文本列表中获取字符串数组C ++

来自分类Dev

如何从java列表中获取字符串值

来自分类Dev

在字符串列表中搜索字符串以获取字符串

来自分类Dev

在Haskell中读取字符串

来自分类Dev

在Haskell中读取字符串

来自分类Dev

在微调器中获取字符串地址,而不是在SQLite中获取字符串形式的数组列表?

来自分类Dev

获取字符串中包含子字符串的单词列表

来自分类Dev

从Python的字符串列表中获取字符串中的关键字

来自分类Dev

从列表中获取字符串(如果该字符串包含子字符串)

来自分类Dev

在ListView中获取字符串

来自分类Dev

从文件中获取字符串

来自分类Dev

如何使用SQL查询从字符串列表中获取字符串

来自分类Dev

如何使用SQL查询从字符串列表中获取字符串

来自分类Dev

从字符串中获取字符串对

来自分类Dev

在字符串中获取字符串

来自分类Dev

从给定的字符串中获取字符串

来自分类Dev

从runRedis conn $获取字符串$ get“ hello”-Haskell

来自分类Dev

从runRedis conn $获取字符串$ get“ hello”-Haskell

来自分类Dev

Haskell-获取字符串列表中第一次出现的索引

来自分类Dev

如何获取字符列表中的所有子字符串(Python)

来自分类Dev

从列表视图中获取字符串的单个部分

来自分类Dev

从列表视图中获取字符串的单个部分

来自分类Dev

多维列表获取字符串Python的位置

Related 相关文章

热门标签

归档