我已经尝试了所有想象的方式并在Google,StackOverflow和官方参考书中搜索过它,但仍然无法在Swift中找到如何进行此类操作:
let basicPrimes = (1,2,3,5,7,11,13,17,19)
if number in basicPrimes {
println("Is prime!")
}
错误消息显示"声明的语句块是未使用的闭包"但我无法找到任何可以使用的合理解释。
知道我做错了什么吗?
答案 0 :(得分:3)
我建议使用数组代替元组作为基本素数。然后你可以使用contains()
检查一个数字是否在你的基本素数数组中。像这样的东西会起作用:
let basicPrimes = [2, 3, 5, 7, 11, 13, 17, 19]
let number = 5
if contains(basicPrimes, number)
{
println("Is prime!")
}
答案 1 :(得分:1)
您的代码中有2个错误:
使用方括号初始化数组 - 您创建的是一个元组,它不是序列类型
要检查序列中是否包含元素,您必须使用contains
全局函数 - in
是闭包中使用的关键字,这就是原因对于那个奇怪的错误消息
所以你的代码应该是这样的:
let basicPrimes = [1,2,3,5,7,11,13,17,19]
if contains(basicPrimes, number) {
println("Is prime!")
}