小编Mur*_*lm.的帖子

Haskell:在函数内的do块之后使用多个let并返回一个值

如标题所示,我想在do块之后返回一个值。

示例:编写一个将变量插入到数组中给定位置的函数:

insertAt :: a -> Int -> [a] -> [a]
insertAt x n xs = do
            let before = take n xs
            let after  = drop n xs
            let merged = before ++ [x] ++ after
            in  merged
Run Code Online (Sandbox Code Playgroud)

例如:

insertAt'x'3“ Aleander” =>“ Alexander”

无论如何,当使用单个let调用时,可以使用in关键字返回一个值,但是在示例中多次调用let会得到错误:

错误:解析输入“ in”中的错误

我知道我可以在一个let用法中完成全部操作,但是我想知道如何处理多个let调用:)

谢谢您的帮助!

haskell functional-programming let

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

标签 统计

functional-programming ×1

haskell ×1

let ×1