String 如何在Haskell中将数字列表转换为字符串列表
如何在Haskell中将数字列表转换为字符串列表(一个字符串=列表中的一个数字) [Int]->[String]String 如何在Haskell中将数字列表转换为字符串列表,string,haskell,integer,converter,String,Haskell,Integer,Converter,如何在Haskell中将数字列表转换为字符串列表(一个字符串=列表中的一个数字) [Int]->[String] 示例:[1,2,3,4]->[“1”、“2”、“3”、“4”]如果您有一个函数f::a->b,那么map f:[a]->[b]将f应用于所有列表元素 函数show可以转换字符串表示中的“可打印”类型。特别是,show的可能类型之一是Int->String 使用这两种工具。使用列表单子: f :: [Int] -> String f xs = do x <
示例:[1,2,3,4]->[“1”、“2”、“3”、“4”]如果您有一个函数
f::a->b
,那么map f:[a]->[b]
将f
应用于所有列表元素
函数show
可以转换字符串表示中的“可打印”类型。特别是,show
的可能类型之一是Int->String
使用这两种工具。使用列表单子:
f :: [Int] -> String
f xs = do
x <- xs
return $ show x
如果需要编写函数来打印0中的元素,这可能是另一种解决方案
cp_log :: (Show a) => [a] -> String
cp_log [] = ""
cp_log [x] = (show x)
cp_log (x:xs) = (show x) ++ ", " ++ cp_log xs
下面是一个完整的示例
cp_log :: (Show a) => [a] -> String
cp_log [] = ""
cp_log [x] = (show x)
cp_log (x:xs) = (show x) ++ ", " ++ cp_log xs
quick_sort :: (Ord a) => [a] -> [a]
quick_sort [] = []
quick_sort (x:xs) =
let smaller = quick_sort [a | a <- xs, a <= x]
bigger = quick_sort [a | a <- xs, a > x]
in smaller ++ [x] ++ bigger
main =
let sorted = (quick_sort [4, 5, 3, 2, 4, 3, 2])
in putStrLn (cp_log sorted)
cp\u日志::(显示a)=>[a]->字符串
cp_日志[]=“”
cp_日志[x]=(显示x)
cp_log(x:xs)=(显示x)++”,“++cp_log xs
快速排序::(Ord a)=>[a]->[a]
快速排序[]=[]
快速排序(x:xs)=
如果你有一个int->string
,你可以使用`map:(a->b)->[a]->[b]`生成一个函数[int]->[string]
,使用`map:(a->b)->[a]->[a]->[b]`只需要简单的映射显示
,你所得到的大致相当于插入“,”.map show
。因此,您的答案无法回答问题,同时又过于复杂。请注意下一次的问题:)哦,对不起:)我只想发布一个手工方法,但您是对的,这没有错,请接受我的道歉。您的haskell令人印象深刻,我认为您的你可以帮助某人解决悬而未决的问题,让我们忘掉这个古老的问题:)别担心@madbird,如果你删除否决票,我会很高兴:)不幸的是,我的否决票在编辑答案之前是锁定的。添加几行,或者,也许,用where
替换let
,这样我就可以删除我的投票。
cp_log :: (Show a) => [a] -> String
cp_log [] = ""
cp_log [x] = (show x)
cp_log (x:xs) = (show x) ++ ", " ++ cp_log xs
quick_sort :: (Ord a) => [a] -> [a]
quick_sort [] = []
quick_sort (x:xs) =
let smaller = quick_sort [a | a <- xs, a <= x]
bigger = quick_sort [a | a <- xs, a > x]
in smaller ++ [x] ++ bigger
main =
let sorted = (quick_sort [4, 5, 3, 2, 4, 3, 2])
in putStrLn (cp_log sorted)