gpt4 book ai didi

Haskell:以字符串形式获取数据构造函数名称

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

假设我们有

data D = X Int | Y Int Int | Z String

我希望有一个函数getDConst

getDConst :: D -> String

根据用于其输入的数据构造函数返回“X”、“Y”或“Z”。是否有一种通用的方法可以编写此代码,而不必在每个数据构造函数上执行 case ? (我同意依赖 Data.Typeable 或类似的解决方案)

最佳答案

我自己找到了解决方案,但将此问题留给其他人:

import Data.Data
data D = X Int | Y Int Int deriving (Data,Typeable)

let result = show $ toConstr (X 3) -- result contains what we wanted

关于Haskell:以字符串形式获取数据构造函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18297285/

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