gpt4 book ai didi

haskell - Haskell中let的用法

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

我在 Haskell 中有这段代码。

import Data.List

main = do
putStrLn $ "\nVerify if Exists in a String"
let wordlist = ["monad", "monoid", "Galois", "ghc", "SPJ"]
let tweet = "This is an example tweet talking about SPJ interviewing with Galois"
print $ map (flip isInfixOf tweet) wordlist

没有 let ,我有这个错误信息: 10_things.hs:16:14: parse error on input ‘=’ .

这是另一个运行良好的代码。
import Data.List

wordlist = ["monad", "monoid", "Galois", "ghc", "SPJ"]
tweet = "This is an example tweet talking about SPJ interviewing with Galois"
main = do
putStrLn $ "\nVerify if Exists in a String"
print $ map (flip isInfixOf tweet) wordlist

在这种情况下,我有错误 parse error (possibly incorrect indentation or mismatched brackets)让。
我的问题是何时以及何时不使用 let在 haskell ?

最佳答案

声明/方程式需要位于 let 中或 where堵塞。你不需要的原因let在模块的顶层,它算作 where自行阻止,由其 module 开始宣言。不包含显式 module 的模块 header 获得隐式

module Main (main) where

一开始。

顺便说一句,缩进的 let block 可以包含多个声明:您不需要第二个 let只要方程式垂直排列,就在您的代码中。

关于haskell - Haskell中let的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422817/

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