Haskell 多行 Lambda 表达式

2024-03-15

我正在从 learnyouahaskell.com 学习 Haskell,有一个这样的例子:

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
    let nlen = length needle  
    in  foldl (\acc x -
> if take nlen x == needle then True else acc) False (tails haystack) 

但是当用 GHC 尝试这段代码时,它给了我

error: parse error on input ‘-’

但当它像这样时它就起作用了:

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
    let nlen = length needle  
    in  foldl (\acc x -> if take nlen x == needle then True else acc) False (tails haystack) 

Haskell 是否有允许多行 lambda 的功能,或者是我缺少的功能?


不要打破->

Just do:

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
   let nlen = length needle  
   in  foldl (\acc x ->
if take nlen x == needle then True else acc) False (tails haystack) 

or

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
   let nlen = length needle  
   in  foldl (\acc x 
-> if take nlen x == needle then True else acc) False (tails haystack) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Haskell 多行 Lambda 表达式 的相关文章

随机推荐

  • 有什么方法可以捕获声明时常量的名称吗?

    我有课 我们称之为 SomeClass class SomeClass end 我不想以正常方式定义此类的实例 而是使用常量来定义它们 MyConstant SomeClass new 我希望能够捕获某个类设置的常量的名称 就像标准 rub
  • Webpack SASS-loader include 语句中断 SASS @import 语句

    因此 对于背景 最初我在 Webpack 配置中排除了 node modules 目录 该目录对于我的 sass import 语句运行良好 但很难包含 node modules 目录中的内容 所以我将SASS加载器切换为以下 test s
  • 获取与 URL 关联的所有 IP,Python

    我正在尝试查找与某个 URL 关联的所有 IP 我一直在使用 socket 包 但对不同功能返回的不同数量的 IP 感到困惑 例如见下文 有没有返回所有IP的函数 socket gethostbyname google com return
  • 使用Python mechanize下载文件

    我正在尝试使用 python 和 mechanize 从网站下载文件 我当前的代码成功登录网站并打开包含下载链接的页面 下载链接是 https www lendingclub com browse browseNotesRawDataV2
  • 升级到 XCode 4 后无法链接 ppc

    我跟着这些说明 https stackoverflow com questions 5333490 how can we restore ppc ppc64 as well as full 10 4 10 5 sdk support to
  • 单击 POI 时获取谷歌地图上的 placeId

    我在我的网站上使用 Google Maps JS V3 API 当用户搜索某个地点时 我可以通过 placeId 使用 getDetails 当用户单击 POI 时 我想执行相同的操作 但是 当用户单击 POI 而不是使用搜索框时 我似乎找
  • Fabric.js 子类中的颜色正在更改为黑色。

    我正在尝试子类 Fabric Group 并将 JSON 字符串加载到其中 我遇到的问题是子类组中的 Fabric Rect 的颜色正在更改为黑色 当我直接在 Fabric Group 中执行此操作时 效果很好 我一直在玩 fromObje
  • Ruby Mailer:参数数量错误

    我正在努力构建我的邮件程序 但我不断遇到 参数数量错误 0 代表 1 可以说我疯了 但我觉得我定义的一切都是正确的 控制器 为简洁起见被截断 def create cms484 Cms484 new cms484 params respon
  • scala 中的间接递归泛型类型定义

    直接类型递归就可以工作 trait TT T lt TT T 但我可以用天真的方法做间接的 trait UU V lt VV UU V trait VV U lt UU VV U 给我错误 CyclicTraits scala 23 err
  • C++ 中对外部命令的线程安全并发调用

    我一直在互联网上寻找一种方法 以线程安全的方式从我的 C 程序中并发调用外部程序 据我了解 popen system 和 fork 都不是线程安全的 在我看来 这里缺少了一些东西 到目前为止我还没有找到 是否有可能没有办法从不同线程并发调用
  • 禁用特定块的全页缓存

    我正在使用具有全页缓存功能的 magento EE 有一个动态更新的块 但我似乎无法禁用它的缓存 我想要实现的理想目标是 仅禁用特定块的缓存 以便每次页面加载时都会再次呈现它 我尝试过的事情 将 unsetData 包含到布局文件中
  • 如何计算 WPF 绑定中的值

    我有一个应用程序 它使用两个滑块来生成在代码中其他地方使用的产品 我想要的是将产品值绑定到文本块或工具提示 例如 看起来像 10 x 15 150 第一部分很简单 如下所示
  • 如何在面向 .NET Core 的 Visual Studio 2015 中引用 System.Data?

    我正在尝试访问IDbConnection接口在类库中 以便创建一个连接对象来连接数据库并从数据库中获取数据 但我无法访问IDbConnection接口应该是在系统数据 dll 我在 NuGet 中也找不到它 那么 我该怎么办呢 Micros
  • 想要在提交表单后刷新 div 吗?

    我有一个简单的表格和一个 div 容器 我的问题是我在提交表单时尝试刷新 div div FOO FOO FOOOOOOOOOOOOOOOOO div div
  • 如何在 iOS 8 启动屏幕中设置标签字体

    我们如何在启动屏幕中将字体设置为标签 我尝试过通过故事板设置自定义字体 该字体已应用并在情节提要中看到 但当我启动应用程序时 我无法看到应用的字体 如何克服这个问题 尽管它可能看起来像在 Xcode 6 中一样 但您无法为启动屏幕指定自定义
  • 在实体版本 6 的 WCF 中使用“include”语法时,复杂对象不会返回

    好吧 这让我很困惑 因为我刚刚看到我的客户端在返回带有 include 的对象时基本上断开连接并终止 然而 如果没有 WCF 服务 它也可以正常工作 问题是我真的希望通过导航设置那些连接的对象 基本上 代码是一个复杂的对象返回 public
  • mat-button-toggle 的更改或单击事件

    我有一个垫子按钮切换组 其中有 5 个垫子按钮切换 我需要在单击或更改 val 时触发一个事件 尽管我更喜欢它是一个单击事件 提供的文档here https material angular io components button tog
  • Asp.NET 不应用我的 CSS 文件

    我的网站位于文件夹中 website 在浏览器中通过 url 打开http localhost 52912 website 我的默认页面和母版页均位于根目录中 在 Default aspx 中 我包括我的母版页 例如 在我的 WTF mat
  • Rails3 中的 before_create、before_update、before_save、before_destroy 的弃用警告

    我刚刚将我的应用程序从 Rails 2 3 升级到 3 我得到了一些 我的 before create update save destroy 等的弃用警告 有谁知道如何解决这个问题 这些是我的警告 DEPRECATION WARNING
  • Haskell 多行 Lambda 表达式

    我正在从 learnyouahaskell com 学习 Haskell 有一个这样的例子 search Eq a gt a gt a gt Bool search needle haystack let nlen length needl