文件夹如何工作?

2024-03-04

谁能解释一下怎么做foldr http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:foldr work?

举这些例子:

Prelude> foldr (-) 54 [10, 11]
53
Prelude> foldr (\x y -> (x+y)/2) 54 [12, 4, 10, 6]
12.0

我对这些处决感到困惑。有什么建议么?


理解foldr的最简单方法是重写您要折叠的列表,而不加任何糖分。

[1,2,3,4,5] => 1:(2:(3:(4:(5:[]))))

怎么办foldr f x所做的是它取代了每个: with f中缀形式和[] with x并评估结果。

例如:

sum [1,2,3] = foldr (+) 0 [1,2,3]

[1,2,3] === 1:(2:(3:[]))

so

sum [1,2,3] === 1+(2+(3+0)) = 6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件夹如何工作? 的相关文章

  • Cabal 在 NixOS 上构建时找不到外部库

    我正在尝试使用 cabal2nix 在 NixOS 上构建一个内部 Haskell 项目 它包装 并因此依赖 一个外部库 在 Ubuntu 上可以通过以下方式构建 wget设置源 然后运行make make install ldconfig
  • 组合 concat 和 map 得到 concatMap:为什么是 f?

    这是我对 Haskell 的第一次探索 如果它很明显 请原谅我 我整个下午都在玩 Haskell 仔细浏览教程HaskellWiki 上的 99 个问题 http www haskell org haskellwiki 99 questio
  • 为什么这个 Clojure 减速器 r/fold 没有提供任何性能优势?

    我想知道为什么下面的代码在 r fold 的情况下没有提供加速 我对减速器有什么误解吗 我在一个相当慢的 尽管有 2 个核心 Ubuntu 12 04 开发盒上运行它 通过 emacs 和 lein 运行 每个都有相同的结果 require
  • unsafeInterleaveIO 什么时候不安全?

    与其他不安全 操作不同 文档 http hackage haskell org packages archive base latest doc html System IO Unsafe html v unsafeInterleaveIO
  • 移动列表中特定元素的简单函数

    我是 Haskell 的新手 我正在尝试弄清楚如何创建一个函数 shift Eq a gt a gt a gt Int gt a shift x h t z 输入 一个通用列表和一个相同类型的元素 x 前提条件 元素x存在于列表中 Outp
  • Haskell:Where 与 Let

    我是 Haskell 的新手 我很困惑Where vs Let 它们似乎都提供了相似的目的 我读过一些比较Where vs Let但我很难辨别何时使用它们 有人可以提供一些背景信息或者一些示例来说明何时使用其中一种而不是另一种吗 哪里与让
  • 是否可以列出派生 Generic 的记录数据类型中字段的名称和类型?

    我知道对于派生 Data Data 的数据类型 constrFields http hackage haskell org package base 4 7 0 2 docs Data Data html v constrFields给出字
  • GHC 可以为 monad 转换器派生 Functor 和 Applicative 实例吗?

    我正在尝试实施MaybeT本着mtl图书馆 使用这个非编译解决方案 LANGUAGE FlexibleInstances MultiParamTypeClasses UndecidableInstances import Control M
  • 显示未定义的实例

    可以采取任何措施来为未定义的值定义 Show 实例吗 也许存在一些 GHC 扩展 我想要这样的东西 gt print 1 undefined 1 undefined 根据Haskell 2010 报告 第 9 章 http www hask
  • Haskell/GHC:使用相同模式匹配多个一元构造函数

    所以我正在尝试定义 TrieSet 数据类型 尽管我知道我不需要 http hackage haskell org package TrieMap module Temp where import Data Map data TrieSet
  • 如何使用 Haskell 中的 thyme 库从 Int 值创建 UTCTime?

    我有年 月 日 小时和分钟值 所有这些都是类型Int 我怎样才能将它们转换为UTCTime or UniversalTime 需要导入以下内容 import Control Lens import Data Thyme Clock impo
  • 通过 Emacs 评估 ghci 或 Hugs 中的缓冲区

    在 Emacs 中使用 sml mode 我已经能够使用以下命令将缓冲区内容直接发送到较差的 SML 进程C c C b 现在我只想用 Haskell 做同样的事情 Haskell 模式似乎不支持这一点 所以我想知道 使用 Emacs 和
  • Haskell,optparse-generic 的未命名命令行参数

    我在用着optparse 通用 https hackage haskell org package optparse generic解析名为的程序的命令行参数example 我有一个带有命名字段的数据类型 记录语法 例如 data Exam
  • 将系统命令的结果绑定到 Haskell 中的变量

    如何在 Haskell 中运行系统命令and将其结果 即标准输出 绑定到变量 在伪 Haskell 中 我正在寻找类似以下内容的内容 import System Process main do output lt callCommand e
  • Haskell 中的前提条件检查有哪些选项

    这是一个简单的问题 我认为答案很复杂 一个非常常见的编程问题是函数返回某些内容 或者前置条件检查失败 在Java中 我会使用一些抛出异常的断言函数IllegalArgumentException在方法的开头 如下所示 method body
  • 为什么 Parsec 的 sepBy 停止并且不解析所有元素?

    我正在尝试解析一些逗号分隔的字符串 该字符串可能包含也可能不包含具有图像尺寸的字符串 例如 hello world 300x300 good bye world 我写了下面的小程序 import Text Parsec import qua
  • 如何手动推断表达式的类型

    给定 Haskell 函数 head filter fst 现在的问题是如何手动 手动 找到类型 如果我让 Haskell 告诉我我得到的类型 head filter fst Bool b gt Bool b 但我想了解仅使用所用函数的签名
  • 我应该在 Turtle 或 Foldl 包中使用折叠吗?

    我在使用 Turtle 时遇到了一些困难 直到盯着难以理解的错误消息几分钟后才意识到我使用了错误的fold功能 https hackage haskell org package turtle 1 5 8 docs Turtle Shell
  • 搜索重写规则

    有什么办法可以浏览或搜索重写规则吗 当我使用像这样的标志时 ddump rule firings or ddump rule rewrites我只是得到了触发的规则的名称以及它引起的重写 但没有得到实际的规则本身 理想情况下 我想通过 GH
  • 使用 FoldLine 解析多个块

    对于这个简化的问题 我试图解析一个如下所示的输入 foo bar baz quux woo hoo xyzzy glulx into foo bar baz quux woo hoo xyzzy glulx 我尝试过的代码如下 import

随机推荐

  • 在不影响CloudKit正确性的情况下执行持久历史记录清除的正确方法是什么?

    目前 我们正在使用本地CoreData with CloudKit特征 通过使用NSPersistentCloudKitContainer 为什么我们启用持久历史跟踪功能 由于问题描述于https stackoverflow com a 7
  • 如何在不使用 nginx 的情况下通过 ingress 启用 CORS?

    我正在尝试使用 Kubernetes 设置 RESTful API 应用程序 我有一个准系统设置 其中包含集群 静态 IP 地址 使用 NodePort 类型的公开服务部署的应用程序以及配置了 SSL 托管证书的入口 我需要启用 CORS
  • 如何正确地将sqlite框架添加到Xcode项目中?

    我正在尝试将 SQLite 添加到我的项目中 我检查了构建阶段选项卡下的目标依赖项 它是空的 这是真的 我收到以下错误 无法运行命令 Ld SQLite 该目标可能包括其自己的产品 我正在使用 swift 3 你能帮我么 提前致谢 我目前不
  • 在 HSQLDB 2.0.0-rc8 中选择下一个序列值的“正确”方法

    假设我有一个序列 称为 TEST SEQ 选择下一个值的正确方法是什么 这不起作用 select next value for TEST SEQ 可能是因为它需要一个 FROM 子句 在休眠中查看 HSQLDialect getSequen
  • 帕拉米科。按修改时间获取文件

    localpath U utime sftp stat TestBTEC st mtime last modified datetime fromtimestamp utime if datetime now last modified l
  • 使用类为第三方库创建类型

    我有一个第三方库 它具有以下 ES6 类签名 class Machine constructor options static list callback create options callback 我尝试为此类创建类型声明 但出现一些
  • 在 Vim 中打开 NERDTree 和 Tlist 并排放置

    我正在寻找一种方法来 自动 打开左侧正上方的 NERDTree 和 Tlist 以便每个插件占据屏幕高度的一半 我已经找到了这个问题 https stackoverflow com questions 6005874 opening a w
  • Servlet 中的 JSF 托管 Bean

    有没有办法从 servlet 访问 JSF 托管 bean 在 Servlet 中 您可以通过以下方式获取请求范围的 beans Bean bean Bean request getAttribute beanName 和会话作用域的 be
  • Java 数组效率

    我不能 100 确定该机制正在发挥作用 因此我决定在此发帖以进一步澄清 我正在做一个项目 应该用Java处理大量数据 它必须是Java 我希望它尽可能高效 我所说的高效是指内存和计算速度应该放在第一位 可读性应该放在第二位 现在我有两种方法
  • 使用图像(宽高比填充)和视频制作 AVMutableComposition 以适合宽高比

    我正在尝试使用尺寸始终为 CGSize 375 667 的图像制作新视频 但视频尺寸不同 且 contentMode 为 aspectFit 问题是我无法弄清楚如何使整个视频组合具有正确的尺寸 即图像尺寸 而是视频的自然尺寸和一堆奇怪的结果
  • 批量使用 PowerShell 命令的问题

    我使用 PowerShell 命令从云下载 zip 文件 该命令在 PowerShell 和命令行中都能正常工作 但是 如果我将命令行中的命令插入批处理脚本中 则只会下载 html 为什么该命令在命令行中可以正常工作 但在批处理文件中却不能
  • GET 文件上传如何工作?

    有谁知道怎么办GWT文件上传有效吗 我知道关于FileUpload小部件以及如何使用它 我想知道它的内在机制是什么 我们无法从中获取文件内容FileUpload客户端中的小部件以及它如何发送到服务器 我用谷歌搜索但没有得到解决方案 提前致谢
  • 仅当活动未显示时才显示通知

    我有一个想要处理的后台任务 问题是 当任务完成时 我想调用一个新的 Activity 来向用户显示结果 前提是我的主 Activity 正在显示 否则我只想发送一个通知 以便用户可以看到该操作已完成 并且可以随时打开它 我正在考虑使用一个服
  • 强制从 s3 亚马逊服务器下载

    我一直在开发一个新的网络应用程序 它依赖于亚马逊S3服务器作为存储系统 以及代码点火器作为 PHP 框架 我需要在单击链接时强制下载文件 原始网址如下所示 http www our web com download do 1 jpg 它会生
  • 主构造函数内的 Scala 局部变量

    在 Scala 中如何在主构造函数中定义局部变量 我需要解决这个练习Scala for the impatient book 编写一个具有接受字符串的主构造函数的 Person 类 包含名字 空格和姓氏 例如 new 人 弗雷德 史密斯 提
  • Kafka 主题分区

    关于 Kafka 主题和分区的一个简单问题 假设以下场景 Producer1将数据写入Topic1 Producer2向Topic2写入数据 Consumer读取Topic 1和Topic 2的数据 Consumer2仅从Topic2读取数
  • S 的最长平衡子序列

    给出的问题 一串括号据说是 如果字符串中的左括号和右括号可以正确配对 则为平衡 例如 字符串 和 都是平衡的 而字符串 则不是 均衡 给定一个字符串S长度n由括号组成 假设你想找到最长的子序列S这是平衡的 使用动态规划 设计一个算法来找到最
  • 从 Resteasy 服务器返回文件

    你好 我想从 Resteasy 服务器返回一个文件 为此 我在客户端有一个链接 它使用 ajax 调用休息服务 我想在其余服务中返回文件 我尝试了这两段代码 但都没有按照我想要的方式工作 POST Path exportContacts p
  • 仅加载关系的 id(pluck)

    我有一个简单的应用程序 使用 Laravel 5 5 13 public function index return Pet all 这列出了所有宠物 我有多对多关系 其中许多用户可以拥有同一只宠物 宠物的人类家庭 我想加载这些用户 Doi
  • 文件夹如何工作?

    谁能解释一下怎么做foldr http haskell org ghc docs latest html libraries base Prelude html v foldr work 举这些例子 Prelude gt foldr 54