相关疑难解决方法(0)

如何在函数式编程中增加变量

如何在函数式编程语言中增加变量?

例如,我想这样做:

main :: IO ()
main = do
    let i = 0
    i = i + 1
    print i
Run Code Online (Sandbox Code Playgroud)

预期产量:1.

haskell functional-programming

17
推荐指数
2
解决办法
2万
查看次数

Haskell Length 函数实现

我正在学习 Haskell 编程,并试图了解列表的工作原理,因此我尝试编写两个可能的length函数:

myLength :: [a] -> Integer
myLength  = foldr (\x -> (+) 1) 0

myLength1 :: [a] -> Integer
myLength1 []     = 0
myLength1 (x:xs) = (+1) (myLength1 xs)
Run Code Online (Sandbox Code Playgroud)

哪一个更好?

在我看来,myLength1它更容易理解,并且在列表上操作看起来很自然。

另一方面,myLength较短且不使用递归;这是否意味着myLength运行速度比 myLength1?

haskell

5
推荐指数
1
解决办法
3878
查看次数

标签 统计

haskell ×2

functional-programming ×1