什么是
squares xs = [x*x|x<-xs]
平均值
就像我理解[x*x|x<-[1,2,3]]
准确地说's'来自哪里
答案 0 :(得分:3)
xs
是传递给squares
函数的列表参数。通常,在haskell中的变量名称之后使用s
来表示列表(IE,将名称复数化以表示参数中的多个值)。
答案 1 :(得分:1)
例如功能:
squareRec :: [Integer] -> [Integer]
squareRec [] = []
squareRec (x:xs) = x*x : squareRec xs
解决方案的工作方式如下:
squareRec[1,2,3]
= squareRec(1 : (2 : (3 : [])))
= 1*1 : squareRec(2 : (3 : []))
= 1*1 : (2*2 : squareRec(3 : []))
= 1*1 : (2*2 : (3*3 : squareRec []))
= 1*1 : (2*2 : (3*3 : []))
= 1 : (4 : (9 : []))
此处头部为x
(元素),尾部为列表的其余部分(列表)。返回的列表在squareRec
函数中传递,而我们得到一个空列表,定义为squareRec [] = []
我们知道1:(4:(9:[])) = [1,4,9]
答案 2 :(得分:0)
xs
只是一个变量(传递给squares
的参数)。在您的第二个示例中,您只需将xs
替换为[1,2,3]
。