Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何将Text.Printf的结果转换为字符串?_String_Haskell_Return_Printf - Fatal编程技术网

String 如何将Text.Printf的结果转换为字符串?

String 如何将Text.Printf的结果转换为字符串?,string,haskell,return,printf,String,Haskell,Return,Printf,Text.Printf的结果是PrintfType类型的变量 有没有办法将此结果转换为字符串 我想要这样的东西:convertToString::PrintfType->String 我到处找了,但什么也没找到 Text.Printf的结果是PrintfType类型的变量 否。PrintfType是对类型的约束,而不是类型本身。请注意模块Text提供的PrintfType实例。Printf有: IsChar c => PrintfType [c] (~) * a () => Prin

Text.Printf的结果是PrintfType类型的变量

有没有办法将此结果转换为字符串

我想要这样的东西:convertToString::PrintfType->String

我到处找了,但什么也没找到

Text.Printf的结果是PrintfType类型的变量

否。
PrintfType
是对类型的约束,而不是类型本身。请注意
模块Text提供的
PrintfType
实例。Printf
有:

IsChar c => PrintfType [c]
(~) * a () => PrintfType (IO a)
(PrintfArg a, PrintfType r) => PrintfType (a -> r)
有没有办法将此结果转换为字符串

无需转换,
String~[Char]
并且存在一个实例
IsChar
。因此,满足了
PrintfType String
的约束

我想要这样的东西:convertToString::PrintfType->String


这是没有意义的,因为您使用的是
PrintfType
作为类型而不是约束。

关于(函数…)呢-顺便说一句:
PrintfType
不是类型-它是一个类这就是我所说的函数。它接受格式化字符串作为输入,并返回PrintfType。我的问题是我想把PrintfType转换成字符串。我不明白你想说什么。如果你要求它,它会给你一个字符串-试试:
printf“%d”55::string
-
string~[Char]
PrintfType
的一个实例,只是一个猜测(Hugs是一个较旧的Haskell实现,我认为它可能会给出类型为
[Char]
)-让我给你一个建议:忘记你可能从C带来的任何类型和类-它们在很大程度上会损害你的理解。好吧,你不必转换任何东西-
String
只是
[Char]
的类型同义词。。。在Haskell中,它们实际上是一样的——就好像你要用MyString=System.IEnumerable编写
在C中#