You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Haskell中IO操作场景下打印变量类型的实现方法

首先需要在代码头部导入Data.Typeable模块,typeOf函数由该模块提供,要求对应值的类型实现了Typeable类型类,Haskell内置的所有基础类型和常用类型默认都实现了该类。

你只需要在finalMappedContents定义后的IO逻辑位置,添加一行print $ typeOf finalMappedContents即可实现类型打印,修改后的代码参考如下:

import Data.Typeable -- 必须添加的导入语句

-- 此处为你原有代码的其他导入、函数定义部分
addUpSameWord = undefined -- 替换为你实际的函数实现
mappedContents = undefined -- 替换为你实际的mappedContents定义

main = do
   args <- getArgs --args is a list.
   -- 原有省略的其他逻辑
   let finalMappedContents = addUpSameWord mappedContents 
   print $ typeOf finalMappedContents -- 新增的类型打印语句
   -- 原有后续的IO逻辑

注意事项

  • 如果你使用GHC 7.8以下的旧版本,自定义类型需要手动派生Typeable实例才能使用typeOf,新版本GHC默认支持绝大多数常用类型的自动派生。
  • 最终打印输出的就是finalMappedContents的完整类型签名。

内容的提问来源于stack exchange,提问作者Niki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:54:03