Function 如何让装订工作
我是Haskell的新手,在以下示例中,我很难理解let绑定是如何工作的:Function 如何让装订工作,function,haskell,functional-programming,let,Function,Haskell,Functional Programming,Let,我是Haskell的新手,在以下示例中,我很难理解let绑定是如何工作的: prefixes :: [a] -> [[a]] prefixes xs = let prefix n = take n xs in map prefix (range (length xs)) “take”函数返回一个列表,那么它如何绑定到2个变量(前缀n)?或者我完全没有抓住要点……你可以把让当作使用匿名函数的语法糖分 让name=value在stuff中等同于(\name->stuff)
prefixes :: [a] -> [[a]]
prefixes xs =
let prefix n = take n xs
in map prefix (range (length xs))
“take”函数返回一个列表,那么它如何绑定到2个变量(前缀n)?或者我完全没有抓住要点……你可以把
让当作使用匿名函数的语法糖分
让name=value在stuff
中等同于(\name->stuff)value
。一个匿名函数的主体是in
子句中的表达式,它应用于绑定到let
子句中名称的表达式。您可以将let
看作是使用匿名函数的语法糖
让name=value在stuff
中等同于(\name->stuff)value
。一个匿名函数,其主体是in
子句中的表达式,它应用于绑定到let
子句中名称的表达式。前缀n
是一个以n
为参数并返回列表的函数。我不确定您到底在问什么,但是let
创建了一个名为prefix
的本地函数,然后用于映射范围。你可以知道prefix
是一个函数,因为它说它接受一个参数n
prefix n
是一个接受n
作为参数并返回列表的函数。我不确定你到底在问什么,但是let
创建了一个名为prefix
的本地函数,然后,它用于映射范围
。您可以知道前缀
是一个函数,因为它表示它接受一个参数n
。