和 之间有什么区别? (点)和 $(美元符号)?

2023-11-30

点和点有什么区别(.)和美元符号($)?

据我了解,它们都是不需要使用括号的语法糖。


The $运算符是为了避免括号。在它之后出现的任何内容都将优先于之前出现的任何内容。

例如,假设您有一行内容如下:

putStrLn (show (1 + 1))

如果你想去掉这些括号,下面的任何一行也可以做同样的事情:

putStrLn (show $ 1 + 1)
putStrLn $ show (1 + 1)
putStrLn $ show $ 1 + 1

该项目的主要目的是.运算符并不是为了避免括号,而是为了链接函数。它可以让您将右侧出现的任何内容的输出与左侧出现的任何内容的输入联系起来。这通常也会导致括号更少,但工作方式不同。

回到同一个例子:

putStrLn (show (1 + 1))
  1. (1 + 1)没有输入,因此不能与.操作员。
  2. show可以采取Int并返回一个String.
  3. putStrLn可以采取String并返回一个IO ().

你可以连锁show to putStrLn像这样:

(putStrLn . show) (1 + 1)

如果您不喜欢括号太多,请使用$操作员:

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

和 之间有什么区别? (点)和 $(美元符号)? 的相关文章

  • 这个记忆的斐波那契函数是如何工作的?

    在我正在做的函数式编程课程的当前练习作业中 我们必须制作给定函数的记忆版本 为了解释记忆化 给出以下示例 fiblist fibm x x lt 0 fibm 0 0 fibm 1 1 fibm n fiblist n 1 fiblist
  • 如何比较表中最后一个和倒数第二个条目的值?

    我在 Oracle 中有一个名为quotes 的表 其中包含两列 date 和value 我想比较表中最后一个条目和倒数第二个条目的值 在此示例中 我想获取日期13 1 和 11 1在一行中以及每个日期的值之间的差异 10 5 5 报价表
  • 我应该在 Turtle 或 Foldl 包中使用折叠吗?

    我在使用 Turtle 时遇到了一些困难 直到盯着难以理解的错误消息几分钟后才意识到我使用了错误的fold功能 https hackage haskell org package turtle 1 5 8 docs Turtle Shell
  • Haskell:无法预期类型“Integer”与实际类型“Int”

    我已经盯着这段代码有一段时间了 但我无法理解该错误消息 divisors Integer gt Integer divisors n t t lt 1 n mod n t 0 length a gt Integer length 0 len
  • 规范化且不可变的数据模型

    Haskell如何解决 规范化不可变数据结构 问题 例如 让我们考虑一个表示前女友 男友的数据结构 data Man Man name String exes Woman data Woman Woman name String exes
  • 以下两个 lambda 函数的空间复杂度

    我正在阅读以下内容 https en wikibooks org wiki Haskell Graph reduction https en wikibooks org wiki Haskell Graph reduction 其内容如下
  • Python函数组成

    我尝试使用良好的语法来实现函数组合 这就是我所得到的 from functools import partial class compfunc partial def lshift self y f lambda args kwargs s
  • Haskell 中列表列表的笛卡尔积

    给定一个长度列表的列表x所有子列表的长度都相同y 输出y x长度列表x包含每个子列表中的一项 例子 x 3 y 2 1 2 3 4 5 6 Output 2 3 8不同的输出 1 3 5 1 4 5 1 3 6 1 4 6 2 3 5 2
  • 在 Yesod 生态系统中,对某些文本进行 urlencode 的最佳方式是什么?

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

    我发现了一些使用标准的旧例子here http www serpentine com blog 2009 09 29 criterion a new benchmarking library for haskell 看起来好像早在 2009
  • 什么时候需要“typename”关键字? [复制]

    这个问题在这里已经有答案了 可能的重复 正式来说 typename 是做什么用的 https stackoverflow com questions 1600936 officially what is typename for 我必须在哪
  • Haskell / GHC - 是否有“警告不完整模式”的中缀标签/编译指示

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

    我正在尝试扩展代码这个帖子 https stackoverflow com questions 3944170 haskell and state 接受的答案 允许我能够基于以种子作为参数的函数 randomGen 调用 randomGen
  • 找不到模块“Yesod”

    我有以下代码 LANGUAGE TypeFamilies QuasiQuotes MultiParamTypeClasses TemplateHaskell OverloadedStrings module Simple where imp
  • Haskell - lambda 表达式

    我试图了解什么是有用的以及如何在 Haskell 中实际使用 lambda 表达式 我不太明白使用 lambda 表达式相对于定义函数的约定方式有何优势 例如 我通常会执行以下操作 let add x y x y 我可以简单地打电话 add
  • 为什么 ZipList 不是 List 的默认应用实例

    我目前正在学习 Haskell 中的应用程序 如果我没记错的话 列表有两个不同的应用实例 List and ZipList 第二个被定义为包装列表值的新类型 这ZipList应用实例对我来说似乎更直观 这可能是一个愚蠢的问题 但有具体原因吗
  • 在 Haskell 中合并两个列表

    无法弄清楚如何合并两个列表通过以下方式在哈斯克尔 INPUT 1 2 3 4 5 11 12 13 14 OUTPUT 1 11 2 12 3 13 4 14 5 我想提出一个更懒的合并版本 merge ys ys merge x xs y
  • 检查对以下内容的理解:“变量”与“变量” “价值”、“功能”与“抽象”

    这个问题是后续问题this one https stackoverflow com questions 25327705 is function a sort of variable 25329157 25329157在学习 Haskell
  • 管道:多个流消费者

    我编写了一个程序来计算语料库中 NGram 的频率 我已经有一个函数 它消耗一串令牌并生成一个订单的 NGram ngram Monad m gt Int gt Conduit t m t trigrams ngram 3 countFre
  • 如何在Haskell中实现词法分析器和解析器

    我在这里得到了这段代码 它是用Haskell结构的命令式编程语言编写的程序 所以问题是 我如何为这种语言实现词法分析器和解析器 该程序被定义为一系列语句有 6 种类型 goto write stop if goto 和 int int n

随机推荐

  • EDMX .NET 4.5 到 4.0?

    我们使用实体框架 并在项目设置为构建 NET 4 5 时创建了 EDMX 现在我们想要切换到 NET 4 0 但是当我们这样做时 我们会收到 EDMX 文件的编译错误 它指出以下错误 Error 10027 The XML namespac
  • 使用 itext (itextsharp) 替换一个 PDF 模板页面上的多个不同图像

    我们有一个 ASP NET 应用程序 用户可以用它来生成某些报告 到目前为止 我们有一个 PDF 模板 上面有一张图像 我们只需用我们以编程方式生成的图像 图表 替换该图像 我们使用了该网站的代码 http blog rubypdf com
  • Ansible playbook 检查用户是否存在或显示错误消息

    如何检查用户是否存在以及 如果存在 则继续下一个任务 如果不存在 则显示一条消息 Given user does not exist 您可以简单地使用获取模块 name get root user info getent database
  • F# 性能问题:编译器在做什么?

    参考这段代码 F 静态成员类型约束 为什么 例如 let gL G of 1L 1L 100000L gt List map fun n gt factorize gL n 明显慢于 1L 100000L gt List map fun n
  • 扩展样式表块

    我在基本布局中有样式表块 stylesheets filter cssrewrite bundles static css main css endstylesheets 我想知道是否可以在子模板中扩展此块 添加另一个或多个 CSS 链接
  • MeekroDB 错误“命令不同步;您现在无法运行此命令”

    我有一个包含以下几行的 PHP 脚本 require once meekrodb 2 1 class php DB user usr DB password pwd DB dbName db DB encoding utf8 results
  • 确定 CSV 的数据类型 - Python

    我是 Python 新手 在使用列表时遇到问题 我公开了我的问题 如您所见 我有一个具有以下结构的 datos csv 文件 1 4 0 none 2 2 0 3 0 none 2 2 5 2 5 tc 39 使用此函数我将数据存储在列表中
  • 是否可以声明带有属性的匿名非 IIFE JavaScript 函数

    我有一次发现 在将属性作为参数传递给其他函数之前 将属性分配给函数很有用 看起来像这样 对于匿名函数和变量分配函数对象之间的任何混淆 我感到抱歉 我认为它们不是同一件事 could strict mode have something to
  • 查找与 matlab 中向量的阶数相同的向量的唯一值

    我有一个向量 A 2 5 6 2 4 13 34 3 34 我想找到这个向量的唯一值 但不是按排序顺序 我在Matlab网站上搜索 发现了这个函数 C ia ic unique A rows stable 但是Matlab R2011a不识
  • 文件名上的 Posix I/O 操作顺序一致吗?

    我想知道是否有Posix标准保证对文件的修改通过重复保证是可见的open close调用相同的文件名 为了便于说明 请考虑以下 Bash 脚本 bin bash FILE mktemp echo Some data gt gt FILE c
  • 使用 Google Drive SDK iOS 创建文件夹

    我正在尝试使用适用于 iOS 的 Google Drive SDK 创建一个文件夹 来自此处的 Google 云端硬盘文档 https developers google com drive folder 它说创建文件夹就像创建具有特殊 M
  • 如何在 R 中重新排列图表

    我更新了我的diagrammer到版本 0 9 0 并开始从相同的数据渲染不同的图表 我的数据框现在看起来像这样 df lt data frame col1 c Cat Dog Bird col2 c Feline Canis Avis s
  • 如何免费制作 Xbox Live 独立游戏?

    有没有办法制作免费的 Xbox Live 独立游戏 现在我并不是想在市场上向全世界发布它 而是想在我的 Xbox 上免费测试它 我知道您必须在 Xbox 和 PC 上下载 XNA 应用程序 但我是否需要 XNA Creators Club
  • 通过镜像名称获取进程的进程句柄

    我需要使用 Win32 从 C 中最简单的方法通过可执行文件名获取另一个进程的进程句柄 我正在寻找的进程没有任何已注册的窗口类 我还知道 如果它正在运行 则只会有一个实例在运行 Use 创建Toolhelp32Snapshot 进程32优先
  • DATEADD 的 NSPredicate 语法?

    有没有办法在 NSPredicate 上执行 DateAdd 或 DateDiff 函数 谢谢你 何塞 事实上 有 这是一种迂回的做法 因为NSPredicate不直接支持它 即 你不能只是 anInterval to an NSDate
  • 如何找到线段上距离任意点最近的点?

    该函数应该接受一个点参数 该参数将用于查找线段对象上与其最近的点 在示例断言代码中 函数getClosestPoint Point takes Point 10 0 作为参数并应该返回Point 5 5 作为最接近的点Point 10 0
  • 如何在滚动停止时触发ajax请求?

    在窗口滚动上我正在执行这样的ajax请求 window scroll function doing ajax request 但它正在为滚动事件创建多个ajax 请求 是否有像 onscrollstop 这样的事件或仅在窗口滚动结束后触发的
  • 文本识别无法识别货币符号

    我正在移动视觉中使用文本识别 API 并尝试处理货币金额 OCR 目前支持基于拉丁语的语言 如法语 德语等 因此我认为该国的货币 欧元 将是一个可识别的符号 但据我所知 事实并非如此 为了检测 我是否应该更改语言首选项 是否有人有在移动视觉
  • Access DB Query 将由“,”分隔的列拆分为多行

    我使用的是Access DB 表中数据如下 ID Number 1 12 34 45 55 67 66 5 7 2 45 55 67 89 777 3 23 45 67 88 777 8888 564 4 1 234 567 890 987
  • 和 之间有什么区别? (点)和 $(美元符号)?

    点和点有什么区别 和美元符号 据我了解 它们都是不需要使用括号的语法糖 The 运算符是为了避免括号 在它之后出现的任何内容都将优先于之前出现的任何内容 例如 假设您有一行内容如下 putStrLn show 1 1 如果你想去掉这些括号