gpt4 book ai didi

haskell - 如何在 Haskell 的函数内声明变量的类型?

转载 作者:行者123 更新时间:2023-12-01 10:00:50 27 4
gpt4 key购买 nike

这是对在 Defining variables inside a function Haskell 上提出的问题的重构

我有一个开头看起来像这样的函数:

recursiveLs :: FilePath -> IO [FilePath]
recursiveLs dir =
do
folderExists <- doesDirectoryExist dir
if folderExists
then ...

问题是,如何在操作中分配给 folderExists 类型之前显式声明它?

最佳答案

好吧,让我们尝试在 ghci 中做你想做的事:

> (a :: Integer) <- return 10

<interactive>:2:7:
Illegal type signature: `Integer'
Perhaps you intended to use -XScopedTypeVariables
In a pattern type-signature

因此,我们应该启用该编译指示。

> :set -XScopedTypeVariables

再试一次

> (a :: Integer) <- return 10
a :: Integer

现在我们有 a 等于 10,它是 Integer:

> a
10
it :: Integer

此外,我相信您已经忘记了 recursiveLs 函数中的 =,应该有类似 recursiveLs dir = do ...

关于haskell - 如何在 Haskell 的函数内声明变量的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16549148/

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