有时我看到一些带有以下表达式的示例代码:
example = example' []
Run Code Online (Sandbox Code Playgroud)
或者有什么不同:
foldl
foldl'
Run Code Online (Sandbox Code Playgroud)
谢谢
ehi*_*ird 20
'只是另一个标识符字符.foldl'是一个完全独立的功能foldl; 它也可以被称为strictFold.它之所以被称为是因为它与以下内容密切相关foldl:它foldl是在每一步都评估累加器的地方,因此不会积累大量的thunk.例如,foldl (+) 0将在大型列表上溢出堆栈,但foldl' (+) 0不会.
通常,的后面添加'手段的三件事情之一:foo'或者是用于限定的目的而作出的辅助定义foo,修改后的版本foo(即,state,state',和state''可能是一个初始状态和两个更新版本),或严格的的版本foo.