问题标签 [guard-statement]

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 投票
2 回答
133 浏览

haskell - Haskell IO 缩进

我试图重写那个正在工作的程序:

这是使用 if/then/else 完成的(因此后缀 ite in nameIOite

然后我尝试使用警卫:

这没有用:

经过一些实验,解决方案结果证明再次缩进警卫(这对我来说根本不清楚):

这种双重缩进是从哪里来的,有没有办法写得更优雅?

(顺便说一句,我在查看我的 wikibook.hs 文件时偶然发现了这一点。)

例子来源:那里

解决方案:

0 投票
2 回答
1147 浏览

ios - 在 guard 语句的 else 块中使用 assert

我在 Google Analytics 的实施说明中遇到了这个:

我从没想过可以在 else 子句中进行断言,而无需返回。这对我来说没有意义,因为断言只会在测试方案中进行评估。那么,为什么编译器不警告它不返回(在发布版本的情况下)。

编辑:这是在函数内application(_:didFinishLaunchingWithOptions) -> Bool

编辑2:我在此找到的附加信息可以回答它:

不幸的是,一旦您进行发布构建,这就会中断,因为在发布配置中删除了断言,并且保护块必须结束当前范围的执行。

https://help.insight.com/app/answers/detail/a_id/120/~/integrating-google-analytics-into-ios-apps-using-swift-4

0 投票
1 回答
1196 浏览

swift - 条件中的预期表达式

我编写了以下函数,并在保护语句中收到以下错误。

条件中的预期表达式

0 投票
2 回答
379 浏览

haskell - Haskell中基于布尔条件执行多条语句

我是 Haskell 的新手,如果几个布尔值为真,我将尝试执行多个语句。我尝试使用警卫,但它只执行第一个正确的语句并停止。我希望它执行所有正确的,例如 f 5 执行 gx 然后还执行 h x。我尝试使用 if 语句,但我做不到。

这只是一个简化,我实际上有一个不同的程序。情况不同,我只是想像其他编程语言一样拥有多个 if 语句。所以在这个例子中,如果 x < 10 那么做一些事情,如果 x < 15 也做这个。

0 投票
1 回答
696 浏览

swift - “guard let”和“if let”与“guard”和“if”的语句不同吗?

我知道可以像这样使用保护语句

我试着做

但它似乎不起作用。

我假设let a = banda = b会以某种方式有一个布尔值,当它失败时它是假的,但guard let实际上guard完全不同?

0 投票
1 回答
268 浏览

list - 了解守卫功能和列表理解

我正在guard从“Learn You a Haskell for Great Good!”一书中了解该功能。米兰利波卡。

对于以下示例:

我知道这guard需要一个布尔值,如果该值为True,则 guard()将其放入最小的默认上下文中并成功。如果值为False,则guard生成失败的一元值。

但是,我不明白在上面的示例中,guard 是如何创建结果列表的[7, 17, 27, 37, 47]x在 lambda 函数中传递了什么,是 1 吗?此外,如果('7' `elem` show x)计算结果为False,那么不会返回空列表吗?最终的结果列表到底是怎么来的?

0 投票
0 回答
33 浏览

swift - 如何在守卫中使用 UISegmentedControl 和文本字段

我目前面临一个问题,如果填写了所需的信息,我想使用警卫来启用按钮。在阅读了警卫机制之后,我还不清楚一件事。我如何将 UITextFields 与 UISegmentedControls 结合起来,以便必须填写/选择两者才能激活按钮。

我目前不确定我的方法是否正确,谷歌搜索也没有帮助。我认为像使用文本字段一样使用 UISegmentedControl 是有意义的,因为两者都使用 isSelected 和 isEmpty 检查布尔值。

0 投票
1 回答
69 浏览

haskell - Haskell 编译错误 - 防护类型不匹配

我一直被困在这个特定的阶段,致力于解决我遇到的问题,而我对 haskell 的体验仍处于初学者水平。

在尝试创建一个将节点(由字符串“键”和值组成)插入二叉搜索树的函数时,我尝试了一种使用保护括号的方法。我似乎误解了如何在这里做某事,我收到的错误对我来说没有意义。

我收到的错误如下

我的守卫声明有什么问题?我见过类似的方法,但我不明白我做错了什么。

0 投票
1 回答
437 浏览

swift - Swift 模式匹配 - 保护中的多个枚举大小写模式?

使用枚举案例和守卫以允许多个案例继续进行的正确语法是什么?

通过 aswitch我们可以使用case-item-list来组合 switch case。

有没有类似的 for guardor ifstatements?

这是我想做的有点像的代码示例...

0 投票
0 回答
243 浏览

swift - 如何在 Swift 中对计算属性进行单元测试?

如何快速对计算属性的保护语句进行单元测试?

运行单元测试时,该fataError行不包含在代码覆盖范围内。

有什么方法可以测试计算的属性吗?

}