我试图制作一个if-else if语句,在“ else if”行(Int类型)中编写两个比较运算符。也许语法错误?
我尝试从'boysAge> = 21'中删除括号,但结果相同
var boysAge = 21
var message = "The customer is "
if boysAge < 21 {
message += "underage"
}
else if (boysAge >= 21) && <70 {
message += "allowed"
}
print(message)
xcode表示“ <”不是前缀一元运算符
答案 0 :(得分:1)
var boysAge = 21
var message = "The customer is "
if boysAge < 21 {
message += "underage"
}
else if boysAge >= 21 && boysAge < 70 {
message += "allowed"
}
print(message)
您缺少<
和70
之间的空格,因此您需要说出要再次检查的变量,所以boysAge < 70
。括号也不是必需的。
答案 1 :(得分:1)
您的代码应以这种方式工作:
Private Property Get SelectedItemDisplayText() As String
SelectedItemDisplayText = MyComboBox.List(MyComboBox.ListIndex, 1)
End Property
如果if boysAge < 21 {
message += "underage"
}
else if boysAge < 70 {
message += "allowed"
}
严格不小于21,那么它当然大于或等于boysAge
。因此,您无需再次检查。
另一种方式是:
21
使用if boysAge < 21 {
message += "underage"
}
else if 21..<70 ~= boysAge {
message += "allowed"
}
运算符。
在我看来,这是使用开关盒的好地方:
~=
然后您可以根据自己的喜好调整范围。
答案 2 :(得分:0)
条件(boysAge >= 21) && <70
不正确。 <
是二进制运算符。这意味着它需要左侧和右侧。编写条件的正确方法是:
boysAge >= 21 && boysAge < 70
但是,请注意,boysAge >= 21
部分不是必需的,因为它已在上一个分支中介绍过。
var boysAge = 21
var message = "The customer is "
if boysAge < 21 {
message += "underage"
}
else if boysAge < 70 {
message += "allowed"
}
print(message)