max 的匿名/Lambda 函数

2023-12-01

我正在尝试编写一个单行函数,您可以在其中输入一个数字和一个列表,然后它返回最高值。

例如:

Input: getMax 5 [1,4,7]
Output: 7

这是我当前的代码:

getMax :: (Ord a) => a -> [a] -> a
getMax f xs = foldr max f xs

现在我想扩展我的函数,以便我可以输入要比较的 Lambda 函数而不是数字。

例如:

Input: getMax (\x -> mod x 5) [1,4,7]
Output: 4

但我无法让它发挥作用。

我收到一条错误消息:

No instance for (Show (Integer -> Integer))

我不太明白。

我尝试更改类型签名,但这没有帮助。

提前致谢!


Your foldr函数应该与f,然后选择两项中的一项x₁ or x₂基于是否f x₁小于或等于f x₂, so:

getMax :: Ord b => (a -> b) -> [a] -> a
getMax f xs = foldr1 g xs
    where g x₁ x₂
            | … = …
            | otherwise = …

我离开的地方实施部分作为练习。

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

max 的匿名/Lambda 函数 的相关文章

  • 规范化且不可变的数据模型

    Haskell如何解决 规范化不可变数据结构 问题 例如 让我们考虑一个表示前女友 男友的数据结构 data Man Man name String exes Woman data Woman Woman name String exes
  • “Eta减少”并不总是在Haskell中举行?

    我发现我可以说 LANGUAGE RankNTypes f1 forall b b gt b gt forall c c gt c f1 f id f HLint 告诉我我可以在这里做 Eta 减少 但是 f2 forall b b gt
  • swift 中闭包和函数作为参数的区别

    我有将近 4 年的 Objective C 经验 并且是 swift 的新手 我试图从 Objective C 的角度理解 swift 的概念 所以如果我错了 请指导我 在目标 c 中 我们有块 可以稍后异步执行的代码块 这绝对是完全合理的
  • 如何显示 zsh 函数定义(如 bash“type myfunc”)?

    如何在 zsh 中显示函数的定义 type foo没有给出定义 在bash中 bash function foo echo hello bash foo hello bash type foo foo is a function foo e
  • C语言声明数组没有初始大小

    编写一个程序来操纵温度详细信息 如下所示 输入要计算的天数 主功能 输入摄氏度温度 输入功能 将温度从摄氏度转换为华氏度 独立功能 查找华氏度的平均温度 我怎样才能在没有数组初始大小的情况下制作这个程序 include
  • Haskell 中的中缀运算符优先级

    对于以下 Haskell 表达式 返回 a gt gt f 应该读作 返回a gt gt f or 返回 a gt gt f 这里的相关规则是什么 规则始终是函数应用程序的优先级高于任何运算符 因此 return a gt gt f 被解析
  • 在 Yesod 生态系统中,对某些文本进行 urlencode 的最佳方式是什么?

    我想对一些文本进行 url 编码 例如 用 20 替换每个空格等 我找到了 HTTP Network HTTP Base urlEncode 并且可以使用它 但我想知道是否还有其他通常在 Yesod 生态系统中使用的东西 不幸的是 由于 U
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 如何在 Haskell 中漂亮地打印表格?

    我想在 Haskell 中漂亮地打印一个类似表格的数据结构 列列表 例如 Table StrCol strings a bc c IntCol ints 1 30 2 DblCol doubles 2 0 4 5 3 2 应该渲染类似 st
  • 如何在 Haskell 中制作打勾游戏的图案?

    实现有 2 个参数的函数 ticktick 第一个参数是自然数元组 定义游戏场地的行数和列数 第二个列表包含由玩家 x 和玩家 o 轮流玩的坐标给出的井字游戏比赛的记录 打印游戏的实际状态 其中游戏区域将由字符 和 界定 空方块 以及字符
  • Haskell / GHC - 是否有“警告不完整模式”的中缀标签/编译指示

    我正在寻找一个可以对特定的不完整模式发出警告的编译指示 它会使编译器失败并显示以下 假设的 代码 FAILIF incomplete patterns f Int gt Int f 0 0 我正在尝试使用 Arrows 编写一个 编译器 并
  • Traversable 类型类的用途

    有人可以向我解释一下类型类的目的是什么吗Traversable 类型类定义是 class Functor t Foldable t gt Traversable t gt where So Traversable is a Functor
  • 简单 Haskell Monad - 随机数

    我正在尝试扩展代码这个帖子 https stackoverflow com questions 3944170 haskell and state 接受的答案 允许我能够基于以种子作为参数的函数 randomGen 调用 randomGen
  • Haskell:Data.Numbers.Primes 库在哪里?

    我尝试导入 Data Numbers Primes import Data Numbers Primes 伦哈斯克尔给了我 5 hs 1 8 Could not find module Data Numbers Primes Use v t
  • 嵌套字段的 Comparator.comparing(...)

    假设我有一个这样的域模型 class Lecture Course course getters class Course Teacher teacher int studentSize getters class Teacher int
  • 如何在haskell中获取变量名称

    我来到 haskell 时有一些 c 背景知识 想知道是否有类似的 define print a printf s d n a a int a 5 print a 应该打印 a 5 这是 augustss 提到的 TH 解决方案 LANGU
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • Haskell 标准库是什么?

    GHC专用库可以称为标准库吗 或者只有 Haskell 2010 报告中的那些才算数 许多 GHC 库可以通过 Haskell 报告中的函数来实现 可能与 C 绑定相结合 但其他语言依赖于 GHC 特定的扩展 因为语言报告中定义的当前 Ha
  • Delphi - 如果没有创建类,为什么这个函数可以工作?

    考虑这个类 unit Unit2 interface type TTeste class private texto string public function soma a b integer string end implementa
  • 如何在不声明新数据的情况下更改类型(String,Int)元组的 Ord 实例?

    我正在尝试对类型列表进行排序 String Int 默认情况下 它按字符串排序 然后按整数排序 如果字符串相等 我希望它是相反的 首先比较整数 然后如果相等则比较字符串 另外 我不想切换到 Int String 我找到了一种通过定义实例来实

随机推荐

  • JS下载多个文件

    我的目标是有一个脚本来下载给定数组内的所有文件 var links http file examples com wp content uploads 2017 10 file example JPG 100kB jpg http file
  • 从 Android Activity 类调用 Javascript 函数

    我正在开发需要使用参数调用 Javascript 函数的应用程序 为了演示 我在这里写了我的 Activity 代码 我想从中调用 js 函数 主要活动 WebView wView FloatingActionButton fab Cont
  • 按键将对象分组为二维数组

    我有一系列对象 这些对象有一个属性称为time 如果这些对象的时间相同 我想将它们分组到同一个数组中 00 00 id 1 time 00 05 id 1 time 00 15 id 1 time 00 20 id 2 time 00 05
  • 批量复制特定文件到子文件夹中

    我有一个 Windows 批处理文件 正在运行该文件以将特定文件移动到子文件夹中 ECHO OFF ECHO Start Copy setlocal enabledelayedexpansion set SOURCE DIR C Users
  • 将数组插入 PHP 文件

    这可能非常愚蠢 但我们还无法做到这一点 我们正在尝试将数组插入到 php 文件中 然而 我们可以将数组插入到 php 文件中 但格式不符合要求 我们有 2 个文件 文件1 php
  • 获取Flask应用程序的根路径

    我正在开发一个 Flask 扩展 我想在文件系统上的项目根路径中创建一个目录 假设我们有这样的目录结构 project app tests my folder manage py my folder 应该由扩展动态创建 它是一个测试实用程序
  • 为什么 findViewById() 在这里不能像 getActivity().findViewById() 一样工作?

    A placeholder fragment containing a simple view public static class PlaceholderFragment extends Fragment public Placehol
  • 如何控制用户输入的地址显示404

    我想在用户输入未知地址时显示 404 页面 如上图所示 之后我可以控制未知地址index php但不知道如何在之前的部分执行此操作index php part 我编写这段代码是为了控制用户输入的内容index php 看起来你的开发机器上有
  • 支持 DOM 样式访问的 Java JSON 库

    我正在用 Java 编写一个 JSON 风格的查询引擎 它将受益于通过 DOM 路径查询 JSON 文档的能力 就像在 Javascript 中所做的那样 我检查过 GSON 和 Jackson 但似乎都不支持这一点 除了我自己的之外 有人
  • Microsoft graph API:无法使用生成的访问令牌获取用户

    我已在 Azure 门户中注册了该应用程序 并生成了 client secret 我需要客户端授权流程 并且我也授予了应用程序权限 我也已授予管理员同意 因为我自己就是管理员 我可以使用给定的 url 生成访问令牌 https login
  • Rails:找不到railties

    rvm v rvm 1 10 2 by Wayne E Seguin lt email protected gt Michal Papis lt email protected gt https rvm beginrescueend com
  • C++的recv()问题

    我想发送一个字符串 Hello there 但我只收到 re 这是为什么 void Accept SOCKADDR IN sock int intsock sizeof sock remoteSocket accept desc LPSOC
  • Vuejs 3如何将变量传递给槽内的所有元素

    我正在使用 VueJs 3 创建一个动态表组件 其中涉及将循环索引变量发送到插槽内的所有子组件 组件的用法如下
  • 无法加载从带有标识符的包中的笔尖引用的图像

    如果需要复制项目 gt 完成 区分大小写 gt 已注意 图像位于项目文件夹内 这里可能有什么问题 Xcode 版本 9 0 我通过将图像导入资产 Assets xcassets 并从那里引用它来解决这个问题 看起来 Xcode 9 中的构建
  • 如何切换浏览器操作的操作?

    我已经创建了我的第一个 chrome 扩展 它将事件处理程序添加到单击时页面上的所有锚元素 如果用户第二次单击该图标 事件处理程序将重新附加到锚元素并执行两次 我需要以下内容 单击浏览器操作 将事件添加到锚元素 如果可能 请在浏览器操作图标
  • 时间:2019-03-17 标签:c#webrequestpostimagetowebapi

    我在将图像上传到我正在运行的 Web API 时遇到问题 使用 GET 请求时 我可以从 Web API 检索数据 但在处理 POST 请求时遇到问题 我需要将 BMP 图像上传到 Web API 然后发回 json 字符串 HttpPos
  • 如何使用 Google Chrome 扩展更改所选文本的 CSS

    我正在为 Chrome 浏览器制作一个扩展 它使用 contextMenus 来更改所选文本的 CSS 但我无法访问 HTML 结构 即所选文本的父节点 就像在本示例中可以轻松做到的那样 var selection window getSe
  • Instagram ?__a=1 url 不再工作 & graphql/query 获取数据的问题

    4 月 19 日更新 使用cookie几天后ig pr前两天是块 看起来现在获取数据的唯一方法是使用sessionid具有特定值 Original 我正在使用 instagram a 1 url 来阅读 Instagram 用户的所有帖子
  • MySQL:将大表拆分为小表的最快方法

    我有一个非常大的表 其中有近 3 亿条记录 由于 select 查询对我来说太慢了 所以我想将其拆分为大约 800 个小表 数据集如下所示 XXXXXX column2 column3 column4 XXXXXX column2 colu
  • max 的匿名/Lambda 函数

    我正在尝试编写一个单行函数 您可以在其中输入一个数字和一个列表 然后它返回最高值 例如 Input getMax 5 1 4 7 Output 7 这是我当前的代码 getMax Ord a gt a gt a gt a getMax f