首页 > 解决方案 > 如何将 TypeRep 转换为字符串?

问题描述

除了ghci,我可以

import Data.Typeable
typeOf ""

这表明

[Char]

正如预期的那样。typeOf 函数的返回值的实际类型是TypeRep,我们可以通过

:t typeOf ""

我想(出于调试目的)输出在计算中使用的结果,typeOf但为此,我需要一个字符串。有没有办法将其转换为可以输入的东西?putStrLndoTypeRepputStrLn

标签: haskell

解决方案


TypeRep是 的别名SomeTypeRep,它是Showtypeclass的实例。因此,您可以使用以下命令打印:

putStrLn (show (typeOf ""))

或使用print :: Show a => a -> IO ()which 是putStrLn . show

print (typeOf "")

推荐阅读