编辑:这是由apple作为编译器错误确认的。
第一个如果下面的表达式(17项)编译,并产生预期结果(false)。
第二个if表达式(18项)失败并显示错误消息:
Cannot invoke ‘||’ with an argument list of type ‘($T106,$T110)’.
这两个表达式是相同的,除了额外的术语。
我在解决问题时没有任何问题,但是我不明白是什么抱怨。有人可以启发我,我所做的愚蠢的错误是什么?温柔,非常没有经验的编码器在这里。
import Darwin var a = -1 if a == 0 || a == 1 || a == 2 || a == 3 || a == 4 || a == 5 || a == 6 || a == 7 || a == 8 || a == 9 || a == 10 || a == 11 || a == 12 || a == 13 || a == 14 || a == 15 || a == 16 || a == 17 { println("value was true") } else { println("value was false")} if a == 0 || a == 1 || a == 2 || a == 3 || a == 4 || a == 5 || a == 6 || a == 7 || a == 8 || a == 9 || a == 10 || a == 11 || a == 12 || a == 13 || a == 14 || a == 15 || a == 16 || a == 17 || a == 18 { println("value was true") } else { println("value was false")}
虽然该问题已经解决了,但您可以使用这个:
原文链接:https://www.f2er.com/swift/320327.htmlswitch a { case 0...17: println("value was true") default: println("value was false") }