gpt4 book ai didi

list - 有没有一种方法可以在没有辅助函数的情况下轻松构建 Haskell 中的重复元素列表?

转载 作者:行者123 更新时间:2023-12-03 06:27:14 25 4
gpt4 key购买 nike

给定一个 (Int, a) 类型的元组,例如 (n,c),我希望构造一个列表 [a] > 其中元素 c 重复 n 次,即 (4, 'b') 变为 "bbbb"。我当前的解决方案如下:

decode :: (Int, a) -> [a]
decode (n, a) = map (\x -> a) [1..n]

如您所见,我正在映射一个匿名函数,该函数始终在 n 元素列表(前 n 个正整数)上返回 a。有没有更有效的方法来做到这一点?我对构造一个整数列表却从不使用它感到难过。另一种解决方案是使用辅助函数并向下递归n,但这看起来很困惑且过于复杂。是否有类似于以下 python 代码的内容?

'b'*4

最佳答案

curry 复制

Prelude> :t uncurry replicate
uncurry replicate :: (Int, b) -> [b]
Prelude> uncurry replicate (4, 'b')
"bbbb"

关于list - 有没有一种方法可以在没有辅助函数的情况下轻松构建 Haskell 中的重复元素列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7726778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com