- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近有幸学习了一点 Idris,我发现非常方便的一件事是 !
-notation ,这让我缩短了 do block 中的一元代码,例如
a' <- a
b' <- b
c' <- c
someFunction a' b' c'
更好的
someFunction !a !b !c
现在,当我在 Haskell 中编写代码时,我正在寻找类似的东西,但据我所知它不存在(而且 bang 字符显然已经用于严格的模式匹配)。有什么办法可以避免在 do block 中出现一堆琐碎的左箭头?也许是一个添加重写规则的扩展,或者类似的东西?
最佳答案
因为每个 monad 都是一个 Applicative
(使用 GHC >= 7.10)我们可以写
someFunction <$> a <*> b <*> c
someFunction
返回
m T
类型的一元值, 以上将返回
m (m T)
,这可能不是我们想要的(正如@pigworker 在下面指出的那样)。但是我们可以
join
两层一起:
join $ someFunction <$> a <*> b <*> c
关于Idris !-notation 的 Haskell 版本(bang notation),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33219871/
已结束。 这个问题是 off-topic .它目前不接受答案。 想要改进这个问题? Update the question所以它是on-topic堆栈溢出。 关闭 9 年前。 社区在4个月前审核了是否
我想做一个简单的函数,它接受一个数据框和用户为该数据框中的两列提供的名称。目的是让它可以轻松地与 dplyr 管道一起工作。它将产生一个粘合字符串的字符向量: func % func(lastName
使用 !! 时出现奇怪的结果: ["a"].indexOf("b") === -1 // true !!(["a"].indexOf("b") === -1) //true !!["a"].index
我想知道是否有可能创建一个单一的方法,比如说 Array#square(它对数组中的元素进行平方),它允许一个可选的 bang !标识符? 这样,接收者是否被永久修改只取决于该方法是否被调用。例如,是
我在具有两个主要组的长数据库 (full_database) 上运行一个函数,我需要在每个组的多个子集上执行各种线性模型。 然后,我将 R^2、调整后的 R^2 和 p.value 提取到一个数据框中
如果您阅读 jQuery inArray 页面上的评论 here ,有一个有趣的声明: !!~jQuery.inArray(elm, arr) 现在,我相信双感叹号会将结果转换为 boolean 类型
如果您阅读 jQuery inArray 页面上的评论 here ,有一个有趣的声明: !!~jQuery.inArray(elm, arr) 现在,我相信双感叹号会将结果转换为 boolean 类型
我使用动态变量(例如 ID )作为引用列名的方法,该列名将根据我当时正在处理的基因而改变。然后我使用 case_when 内的 mutate 创建一个新列,该列的值取决于动态列。 我认为 !! (ba
我在文件中有以下内容 demo.py:-//可执行位设置 #!/usr/bin/python import os 我在终端中使用了命令 bash demo.py 并期望第一行由 bash 解释,它将文
当我想引用在该 shell 中执行的最后一个命令时,我习惯于在 bash 中键入 !!。 $ ls -la drwxr-xr-x 4 me wheel 136 Jan 19 2013
在这个代码示例中,taking_damage 方法之前的感叹号有什么用? if warrior.health < 20 && !taking_damage?(warrior) warrior
按照惯例,我们向任何改变其参数的函数名称添加爆炸字符 !,因此对于以下代码示例,我们是否应该向仿函数添加 !名字? mutable struct Foo a::Int end (foo::Fo
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
如果没有对其参数进行硬编码,即 Me.VBProject.References!Excel,我无法成功使用 Bang (!) 运算符。在此示例中,Excel 引用是硬编码的。出于沮丧,我尝试了所有我能
我需要从 Java 小程序打开外部窗口。我怎样才能做到这一点而不使窗口成为小程序的子窗口?即使小程序关闭,我也需要窗口保持打开状态。我知道这是可以做到的。砰! Howdy 所做的正是我想要实现的目标。
这个问题已经有答案了: unnecessary exclamation marks(!)'s in HTML code (4 个回答) 已关闭 9 年前。 我遇到一个问题,我的 HTML 代码中出现
有没有办法检索 UNIX shell 将用于给定脚本的解释器的路径? (最好是在 Python API 中或作为 shell 命令)? 像这样使用: $ get_bang ./myscript.py
我有一个 Python 脚本 script.py,它已被定义为可执行文件并且以以下 sha-bang 开头: #!/usr/bin/env python -W all 但是当我从 shell 调用它时
是否可以在不使用赋值的情况下编写这段代码摘录? self.name = self.name.to_s.squeeze(' ').strip 我曾尝试使用 bang 版本的方法,但不能很好地使用,因为如
Airbnd suggests我这样做: !function() { // ... }(); 因为: This ensures that if a malformed module forgets
我是一名优秀的程序员,十分优秀!