加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 为什么这个Swift代码片段会编译?它是如何工作的?

发布时间:2020-12-14 18:12:08 所属栏目:百科 来源:网络整理
导读:今天,我看到了一些示例 Swift 2.0(Xcode 7.2)代码,可以概括为: let colours = ["red","green","blue"]let r1 = colours.contains("The red one.".containsString) // truelet y1 = colours.contains("The yellow one.".containsString) // false 由于contai
今天,我看到了一些示例 Swift 2.0(Xcode 7.2)代码,可以概括为:

let colours = ["red","green","blue"]
let r1 = colours.contains("The red one.".containsString)  // true
let y1 = colours.contains("The yellow one.".containsString)  // false

由于containsString()函数缺少括号,我原本期望编译错误.事实上,我甚至不确定递归是如何工作的.字符串是否在颜色数组中的每个项目中递归,反之亦然?

任何解释都赞赏.

解决方法

你实际在做的是调用方法.contains(谓词:String – > Bool)(实际的方法可以抛出,但这里不相关)

这意味着,如果数组颜色包含符合该谓词的元素,那就是询问数组颜色,即“红色的那个”.containsString.因此,数组将逐个检查其元素并根据该谓词进行检查.如果找到一个,它将返回true,否则返回false.

上面的代码执行此操作:

"The red one.".containsString("red")
"The red one.".containsString("green")
"The red one.".containsString("blue")

"The yellow one.".containsString("red")
"The yellow one.".containsString("green")
"The yellow one.".containsString("blue")

它会检查某个地方是否真实.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读