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") 它会检查某个地方是否真实. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |