gpt4 book ai didi

haskell - 如何在 GHCi 中定义数据类型

转载 作者:行者123 更新时间:2023-12-02 09:05:24 24 4
gpt4 key购买 nike

我正在读“Making Our Own Types and Typeclasses”的一部分,来自“为您学习 Haskell 大有裨益!”。

按照文本我在 GHCi 中编写代码并出现错误。

data Shape = Circle Float Float Float | Rectangle Float Float Float Float   
surface :: Shape -> Float

<interactive>:2:1: error:
Variable not in scope: surface :: Shape -> Float

当我用文本编辑器编写代码并从 GHCi 加载时,它可以正常工作。

我应该如何在 GHCi 中定义数据类型?

最佳答案

你正确定义了数据类型,但是当你想在GHCi中输入多行语句时,你需要使用:{:},或者使用制作多行语句的另一种机制。因此,您可以输入:

Prelude> data Shape = Circle Float Float Float | Rectangle Float Float Float Float
Prelude> <b>:{</b>
Prelude| surface :: Shape -> Float
Prelude| surface (Circle _ _ r) = pi * r ^ 2
Prelude| surface (Rectangle x1 y1 x2 y2) = (abs $ x2 - x1) * (abs $ y2 - y1)
Prelude| <b>:}</b>

关于haskell - 如何在 GHCi 中定义数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59154523/

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