"cdef" 我能够做到这一点,但只有-6ren">
gpt4 book ai didi

haskell - 移动字符串中的元素

转载 作者:行者123 更新时间:2023-12-04 08:14:40 25 4
gpt4 key购买 nike

我对haskell很陌生,我想制作一个函数来获取一个字符串并添加一个特定的数字来移动字符串的元素。
例如

addChars "abcd" 2
output -> "cdef"
我能够做到这一点,但只有一个字符使用:
nextChar :: Char -> Int -> Char
nextChar x y= chr $ ord x + y

最佳答案

您可以使用 map ,这里您需要调用nextChar带有第二个参数的值

addChars :: String -> Int -> String
addChars cs dc = map (`nextChar` dc) cs
通常在 Haskell 中参数会被反转,所以我们定义一个函数:
nextChar :: Int -> Char -> Char
nextChar dc c = chr (ord c + dc)
然后我们可以定义 addChars作为:
addChars :: Int -> String -> String
addChars dc cs = map (nextChar dc) cs
或更短:
addChars :: Int -> String -> String
addChars = map . nextChar

关于haskell - 移动字符串中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65767285/

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