码迷,mamicode.com
首页 > 编程语言 > 详细

Swift组合逻辑

时间:2015-05-16 14:41:58      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

 1 我们可以组合多个逻辑运算来表达一个复合逻辑:
 2 if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword {
 3     println("Welcome!")
 4 } else {
 5     println("ACCESS DENIED")
 6 }
 7 // 输出 "Welcome!"
 8 这个例子使用了含多个&&和||的复合逻辑。但无论怎样,&&和||始终只能操作两个值。所以这实际是三个简单逻辑连续操作的结果。我们来解读一下:
 9 
10 如果我们输入了正确的密码并通过了视网膜扫描; 或者我们有一把有效的钥匙; 又或者我们知道紧急情况下重置的密码,我们就能把门打开进入。
11 
12 前两种情况,我们都不满足,所以前两个简单逻辑的结果是false,但是我们是知道紧急情况下重置的密码的,所以整个复杂表达式的值还是true。
13 使用括号来明确优先级
14 
15 为了一个复杂表达式更容易读懂,在合适的地方使用括号来明确优先级是很有效的,虽然它并非必要的。在上个关于门的权限的例子中,我们给第一个部分加个括号,使用它看起来逻辑更明确:
16 if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword {
17     println("Welcome!")
18 } else {
19     println("ACCESS DENIED")
20 }
21 // 输出 "Welcome!"
22 这括号使得前两个值被看成整个逻辑表达中独立的一个部分。虽然有括号和没括号的输出结果是一样的,但对于读代码的人来说有括号的代码更清晰。可读性比简洁性更重要,请在可以让你代码变清晰地地方加个括号吧!

 

Swift组合逻辑

标签:

原文地址:http://www.cnblogs.com/719907411hl/p/4507744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!