gpt4 book ai didi

haskell - 括号中逗号分隔的名称是什么意思 - 作为绑定(bind)?

转载 作者:行者123 更新时间:2023-12-04 00:51:14 24 4
gpt4 key购买 nike

在文档 ( https://riptutorial.com/Download/haskell-language.pdf ) 中,第 5 章:箭头,我遇到了以下示例:

spaceAround :: Double -> [Double] -> Double
spaceAround x ys = minimum greater - maximum smaller where (greater, smaller) = partition (>x) ys

表达式 (greater, smaller) 是什么意思?

最佳答案

partition 函数返回一对或 2 元素元组作为其结果。将该元组分配给 (greater, smaller) 会将对的第一个和第二个元素的值分别分配给两个变量 greatersmaller

如果您熟悉 let...in 语法,另一种编写此函数的方法如下:

spaceAround2 :: Double -> [Double] -> Double
spaceAround2 x ys =
let myPair = partition (>x) ys
greater = fst myPair
smaller = snd myPair
in minimum greater - maximum smaller

关于haskell - 括号中逗号分隔的名称是什么意思 - 作为绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66350887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com