问题标签 [guard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
329 浏览

erlang - 为什么在这个函数中使用“when”?

《Erlang Programming》中有这个索引函数:

由于模式匹配,守卫“当N>0”不是多余的吗?调用 index(0, List) 将永远不会在第二个子句中结束,因此 N 将始终 > 0。或者我在这里完全错了吗?

0 投票
7 回答
7133 浏览

c++ - 我在哪里可以为我的 C++ 项目找到一个好的 Scope Guard 实现?

我最近刚刚了解了 Scope Guard C++ 习惯用法。不幸的是,我找不到任何好的实现。

谁能指出我在 C++ 中一些好的和可用的 Scope Guard 实现?

谢谢,博达赛多。

0 投票
2 回答
314 浏览

haskell - 没有遇到 Haskell 警卫

我正在尝试构建一个包含所有输入的不同字符串的新列表。我的测试数据是:

预期结果:

我是 Haskell 的新手,我确信我错过了一些非常基本和明显的东西,但是已经没有办法去探索了。您能否指出我的想法不足的地方?

实际的反应是[]。似乎永远不会满足第一个保护条件(如果我将其替换为True,则会复制原始列表),因此永远不会构建输出列表。

我的理解是折叠会在列表的每个项目上累积 step 的结果,并将其添加到空列表中。我预计该步骤将测试每个项目是否包含在输出列表中(第一个测试的元素不存在)并将添加任何尚未包含到输出列表中的内容。显然不是 :-)

0 投票
2 回答
1996 浏览

haskell - Haskell - 模式中守卫右侧的通配符使用

可以说我有一段这样的代码:

我试图将它与几种可能性之一相匹配,一些与一个(WIRE“”),一些与两个。我的实际输入如下:(“p”,NOT(WIRE“x”))。我想要一个可以接受任何字母作为输入的模式(我希望使用 _)并且失败得很惨(非法 _)。有可能在haskell中做到这一点吗?

0 投票
4 回答
13203 浏览

haskell - 模式匹配和守卫有什么区别?

我对 Haskell 和一般的函数式编程非常陌生。我的问题很基本。模式匹配和守卫有什么区别?

使用模式匹配的函数

使用守卫的功能

在我看来,模式匹配和警卫基本上是相同的。两者都评估一个条件,如果为真,将执行与它挂钩的表达式。我的理解正确吗?

在这个例子中,我可以使用模式匹配或守卫来获得相同的结果。但是有些事情告诉我,我在这里错过了一些重要的事情。我们可以总是用另一种代替吗?

有人可以举例说明模式匹配优于守卫,反之亦然?

0 投票
2 回答
1487 浏览

haskell - 保护脱糖

我经常听到这句话,守卫只是 if-then-else(或 case 语句)的语法糖。

有人可以对以下实例进行脱糖:

(该功能是有意偏向的)

谢谢,

0 投票
9 回答
4987 浏览

database - 如何阻止用户共享他们的 Web 应用程序的登录详细信息

到目前为止我所拥有的:

  1. 服务器端的会话
  2. Request.ServerVariables("HTTP_USER_AGENT") & REMOTE_HOST创建并保存在数据库中的计算机的唯一 ID (md5)

但在这种情况下我还能做什么?用户继续分享他们的登录详细信息:(

0 投票
1 回答
809 浏览

java - 带有连接的保护块

我需要在多个线程上同步。我不创建线程,但我知道有多少。所以我写了这个内部保护块:

这个受保护的块在循环中执行。所以问题是它可能会在第一次调用的所有线程都从wait()循环中释放之前被第二次调用,这显然搞砸了守卫的整个逻辑。所以我需要让线程在从警卫中释放之前以某种方式加入。有这个设计吗?什么是完成它的最优雅的方式。请记住,线程不是由我创建的。

谢谢。

0 投票
1 回答
209 浏览

ruby-on-rails - Guard 将 dir 的内容编译为 dirname

我正在使用警卫在 Rails 2.3.8 应用程序中编译咖啡脚本。

我以前使用 bistro_car 包,所以我的脚本被组织在 app/scripts/{bundle_name}/{bundle_files}

我想做的是将所有 {bundle_files} 编译为 public/javascripts/{bundle_name}.js,这样我就不必重新组织所有内容。

关于如何解决这个问题的任何想法?

0 投票
2 回答
1025 浏览

ruby-on-rails - 如果我使用 Guard 和 Spork,如何在规范或功能中进行 ruby​​ 调试?

我设法让 Cucumber、RSpec、Guard 和 Spork 在 Rails 3 应用程序中很好地相互配合,但现在我遇到了上述问题。

目前我require 'spork/ext/ruby-debug'在 prefork 块中,spec_helper.rb但这只有在我手动运行 spork 时才有效,没有防护。