gpt4 book ai didi

haskell - 在 Haskell 中,为什么 GHCi cmd 行允许我更改变量的值,这在从文本文件加载时是不允许的

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

我可以在 GHCi 中执行以下操作,我知道这在 Haskell 中是不可能的:

Prelude> myPi = 3.14
Prelude> myPi = 4
Prelude> myPi
4

但是如果我把它放在一个文件中,它会给我一个错误

-- main.hs
myPi = 3.14
myPi = 4
Prelude> :l main.hs
main.hs:2:1: error:
Multiple declarations of ‘myPi’
Declared at: main.hs:1:1
main.hs:2:1

GHCi 正在做什么以允许我“重新声明”变量。有没有办法阻止这种情况发生?

最佳答案

这是一个演示 GHCi 更改值,而是引入一个具有相同名称的新变量的 session :

Prelude> let myPi = 3.14
Prelude> let f x = x + myPi
Prelude> let myPi = 4
Prelude> f 0
3.14

关于haskell - 在 Haskell 中,为什么 GHCi cmd 行允许我更改变量的值,这在从文本文件加载时是不允许的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58039256/

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