我想将a的值NSString
与字符串"Wrong"进行比较.这是我的代码:
NSString *wrongTxt = [[NSString alloc] initWithFormat:@"Wrong"];
if( [statusString isEqualToString:wrongTxt] ){
doSomething;
}
Run Code Online (Sandbox Code Playgroud)
我是否真的必须为"错误"创建一个NSString?
另外,可我一个的值进行比较UILabel
的text
一个字符串没有标签值分配给字符串?
在自然语言中,我们会说"如果颜色是红色,蓝色或黄色,某些颜色是主要颜色."
在我看过的每种编程语言中,都转化为:
isPrimaryColor = someColor == "Red" or someColor == "Blue" or someColor == "Yellow"
Run Code Online (Sandbox Code Playgroud)
为什么没有更接近匹配英语句子的语法.毕竟,如果颜色为红色,或者颜色为蓝色,或者颜色为黄色,则不会说"某些颜色是原色."
我只是isPrimaryColor = someColor == ("Red" or "Blue" or "Yellow")
因为而不是红色和黄色它们可能是布尔语句,在这种情况下布尔逻辑适用,但是如下所示:
isPrimaryColor = someColor ( == "Red" or == "Blue" or == "Yellow")
Run Code Online (Sandbox Code Playgroud)
作为一个额外的奖励,语法将允许更多的灵活性,说你想看一个数字是1到100或1000和2000,你可以说:
someNumber ((>= 1 and <=100) or (>=1000 and <=2000))
Run Code Online (Sandbox Code Playgroud)
编辑:
非常有趣的答案,并指出我应该学习更多的语言.在阅读完答案之后,我同意,对于严格的相等比较,类似于集合成员资格的东西是表达同一事物的清晰简洁的方式(对于具有简明内联列表或集合和测试成员资格的语言支持的语言)
出现的一个问题是,如果要比较的值是昂贵计算的结果,则需要(好的,应该)创建临时变量.另一个问题是可能需要检查不同的评估,例如"一些昂贵的计算结果应该是素数并且在200到300之间"
更多功能语言也涵盖了这些场景(虽然取决于语言可能不是更简洁),或者实际上任何可以将函数作为参数的语言.例如,前面的例子可能是
MeetsRequirements(GetCalculatedValue(), f(x):x > 200, f(x):x < 300, IsPrime)
Run Code Online (Sandbox Code Playgroud) 我有一个iOS
简单而合乎逻辑的应用程序if-statements
.然而,他们不会运行,我不能理解为什么.这是我的简单代码:
-(void)viewDidLoad {
[super viewDidLoad];
// Run setup code.
int day = [self currentDay];
if ((day == (1 || 3 || 7) && (day != (2 || 4 || 5 || 6))) {
// Run the calendar setup code for
// Sunday/Tuesday OR saturday.
[self runSetupVX_4];
}
else if ((day == (2 || 4 || 5 || 6)) && (day != (1 || 3 || 7))) {
// Run setup code for Monday
// wednesday, thursday …
Run Code Online (Sandbox Code Playgroud) 很简单,愿意
if(clickedButton == button0 || button1 || button2 || button3 || button4 || button5 || button6 || button7 || button8 || button9)
Run Code Online (Sandbox Code Playgroud)
返回true
如果我点击了button0
,button1
或者button2
等?另外,我不明白为什么
if(clickedButton == (button0 || button1 || button2)
......等也不起作用.是同样的事情(在JButton上检查true或false)还是完全不同的东西.大多数情况下,我只是乱用括号,所以当这个想法打击我时,我尝试了,我不明白为什么它不起作用.