gpt4 book ai didi

haskell - 有没有办法在 Haskell 中取消映射?

转载 作者:行者123 更新时间:2023-12-03 06:29:33 25 4
gpt4 key购买 nike

我正在编写一个 Haskell 程序。我创建了一个称为测量的数据类型,它是一个 double 组,如下所示:

data Measurement = Measurement [Double]  deriving (Show)

我有一个函数可以转换为测量值,它需要一个 double 列表列表,并将其转换为测量值列表。它看起来像这样:

castToMeasurement :: [[Double]] -> [Measurement]
castToMeasurement = map Measurement

但是现在我想对 double 值进行一些操作。那么有没有办法可以取消映射到 double 组?因此,当我给它一个测量(或测量列表)时,它会将其转换为 double 列表(或 double 列表列表)。谢谢!

最佳答案

是的,有:

data Measurement = Measurement { getMeasurement :: [Double] } deriving Show

castToMeasurement :: [[Double]] -> [Measurement]
castToMeasurement = map Measurement

castFromMeasurement :: [Measurement] -> [[Double]]
castFromMeasurement = map getMeasurement

很简单,不是吗?

关于haskell - 有没有办法在 Haskell 中取消映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706586/

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