相关疑难解决方法(0)

是否有必要在将变量与另一个变量进行比较之前为变量赋值?

我想将a的值NSString与字符串"Wrong"进行比较.这是我的代码:

NSString *wrongTxt = [[NSString alloc] initWithFormat:@"Wrong"];
if( [statusString isEqualToString:wrongTxt] ){
     doSomething;
}
Run Code Online (Sandbox Code Playgroud)

我是否真的必须为"错误"创建一个NSString?

另外,可我一个的值进行比较UILabeltext一个字符串没有标签值分配给字符串?

variables cocoa-touch objective-c

85
推荐指数
3
解决办法
11万
查看次数

为什么大多数编程语言只有二进制相等比较运算符?

在自然语言中,我们会说"如果颜色是红色,蓝色或黄色,某些颜色是主要颜色."

在我看过的每种编程语言中,都转化为:

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)

language-design boolean-operations

29
推荐指数
8
解决办法
1835
查看次数

如果语句没有运行 - iOS

我有一个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)

cocoa-touch if-statement objective-c nsdatecomponents ios

0
推荐指数
1
解决办法
250
查看次数

Java逻辑运算符

很简单,愿意

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)还是完全不同的东西.大多数情况下,我只是乱用括号,所以当这个想法打击我时,我尝试了,我不明白为什么它不起作用.

java if-statement

-7
推荐指数
1
解决办法
122
查看次数