标签: ternary

怎么做one-liner if else声明?

我可以在go(golang)中编写一个带有变量赋值的简单if-else语句,就像在php中一样(例如):

$var = ( $a > $b )? $a: $b;
Run Code Online (Sandbox Code Playgroud)

目前我必须使用以下内容:

var c int
if a > b {
    c = a
} else {
    c = b
}
Run Code Online (Sandbox Code Playgroud)

对不起,如果这个控制声明和我无法通过现场和谷歌搜索找到信息,我记不起名字了.:/

if-statement go conditional-operator ternary

79
推荐指数
5
解决办法
11万
查看次数

Lua中的内联条件(a == b?"是":"否")?

无论如何在Lua使用内联条件?

如:

print("blah: " .. (a == true ? "blah" : "nahblah"))
Run Code Online (Sandbox Code Playgroud)

lua conditional ternary

73
推荐指数
3
解决办法
4万
查看次数

没有其他的Python三元运算符

是否可以在Python中的一行中执行此操作?

if <condition>:
    myList.append('myString')
Run Code Online (Sandbox Code Playgroud)

我试过三元运算符:

myList.append('myString' if <condition>)
Run Code Online (Sandbox Code Playgroud)

但我的IDE(MyEclipse)不喜欢它,没有else.

python ternary

62
推荐指数
5
解决办法
5万
查看次数

具有return语句JavaScript的三元运算符

如果选中下拉列表中的选项,我需要返回true或false.

这是我的代码:

var active = sort.attr('selected') ? return true : return false;
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,第一个return是意外的.

为什么?

javascript jquery ternary

46
推荐指数
4
解决办法
5万
查看次数

Java:三元无回报.(用于方法调用)

我想知道是否可以进行三元操作但没有返回任何东西.

如果在Java中不可能在其他语言中使用,那么哪些适用?

name.isChecked() ? name.setChecked(true):name.setChecked(false);
Run Code Online (Sandbox Code Playgroud)

java methods boolean return ternary

45
推荐指数
3
解决办法
2万
查看次数

?:将一个表达式留空时的三元条件运算符行为

我正在编写一个控制台应用程序,试图通过反复试验来"猜测"一个数字,它工作得很好,除了它让我想知道某个部分是我心不在焉地写的,

代码是:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x,i,a,cc;
    for(;;){
    scanf("%d",&x);
    a=50;
    i=100/a;
for(cc=0;;cc++)
{
    if(x<a)
    {
        printf("%d was too big\n",a);
        a=a-((100/(i<<=1))?:1);

    }
    else if (x>a)
    {
        printf("%d was too small\n",a);
        a=a+((100/(i<<=1))?:1);

    }
    else
    {
        printf("%d was the right number\n-----------------%d---------------------\n",a,cc);
        break;
    }
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

更具体地说,困惑我的部分是

a=a+((100/(i<<=1))?:1); 
//Code, code
a=a-((100/(i<<=1))?:1);
Run Code Online (Sandbox Code Playgroud)

我曾经((100/(i<<=1))?:1)确保如果100/(i<<=1)返回0(或错误),整个表达式将计算为1 ((100/(i<<=1))?:***1***),并且我离开条件的部分,如果它是真的空的((100/(i<<=1))? _this space_ :1),它会工作,它似乎工作正常但是有离开的风险条件空的那部分?

c ternary-operator conditional-operator ternary

37
推荐指数
2
解决办法
1万
查看次数

Java - Check Not Null/Empty else指定默认值

我正在尝试简化以下代码.

代码应执行的基本步骤如下:

  1. 为String分配默认值
  2. 运行方法
  3. 如果该方法返回null/empty字符串,则将String保留为默认值
  4. 如果方法返回有效字符串,则将String设置为此结果

一个简单的例子是:

    String temp = System.getProperty("XYZ");
    String result = "default";
    if(temp != null && !temp.isEmpty()){
        result = temp;
    }
Run Code Online (Sandbox Code Playgroud)

我使用三元运算符进行了另一次尝试:

    String temp;
    String result = isNotNullOrEmpty(temp = System.getProperty("XYZ")) ? temp : "default";
Run Code Online (Sandbox Code Playgroud)

isNotNullOrEmpty()方法

 private static boolean isNotNullOrEmpty(String str){
    return (str != null && !str.isEmpty());
}
Run Code Online (Sandbox Code Playgroud)

是否可以在线完成所有这些操作?我知道我可以这样做:

String result = isNotNullOrEmpty(System.getProperty("XYZ")) ? System.getProperty("XYZ") : "default";
Run Code Online (Sandbox Code Playgroud)

但我两次调用相同的方法.我会喜欢做这样的事情(这不起作用):

String result = isNotNullOrEmpty(String temp = System.getProperty("XYZ")) ? temp : "default";
Run Code Online (Sandbox Code Playgroud)

我想在同一行中初始化'temp'字符串.这可能吗?或者我该怎么办?

谢谢你的建议.

蒂姆

java inline ternary

37
推荐指数
6
解决办法
6万
查看次数

Java:避免在嵌套类中检查null(深度空检查)

想象一下,我有一个班级家庭.它包含一个人员列表.每个(类)Person包含一个(类)地址.每个(类)地址包含一个(类)PostalCode.任何"中间"类都可以为null.

那么,有没有一种简单的方法来获取PostalCode,而不必在每一步检查null?即,有没有办法避免以下菊花链代码?我知道没有"原生"Java解决方案,但希望有人知道库或其他东西.(已检查Commons&Guava并没有看到任何内容)

if(family != null) {
    if(family.getPeople() != null) {
        if(family.people.get(0) != null) {
            if(people.get(0).getAddress() != null) {
                if(people.get(0).getAddress().getPostalCode() != null) {
                    //FINALLY MADE IT TO DO SOMETHING!!!
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

不,不能改变结构.它来自我无法控制的服务.

不,我不能使用Groovy,它是方便的"猫王"操作员.

不,我宁愿不等待Java 8:D

我不敢相信我是第一个生病的人,厌倦了写这样的代码,但我找不到解决办法.

想法?

谢谢

-
llappall

java null class ternary

34
推荐指数
6
解决办法
1万
查看次数

如何用jQuery编写这个三元运算符?

在这种小提琴http://jsfiddle.net/mjmitche/6nar4/3/,如果拖动,例如,小蓝盒子放到黄色盒子,那么大的黑盒子会变成粉红色.左侧的所有4个方框都可以拖入黑匣子内的方框中.

在小提琴的末尾,您会看到将黑盒子改为粉红色的代码.

但是,我想把它变成一个三元运算符,这样如果盒子是黑色的,那么它会变成粉红色,但如果它变成粉红色,那么我希望它变回黑色.

我知道三元组是这样的

x ? y: z
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个,尽管我知道这可能不对

$("#blackbox").css({'background':'pink'}); ?

    $("#blackbox").css({'background':'black'}); : 

$("#blackbox").css({'background':'pink'}); 
Run Code Online (Sandbox Code Playgroud)

我认为问号前的第一行是导致问题的,那么如何创建if语句呢?

javascript jquery ternary

33
推荐指数
2
解决办法
9万
查看次数

三元运算符c ++中的return语句

我使用三元运算符编写了绝对函数,如下所示

int abs(int a) {
 a >=0 ? return a : return -a;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息

../src/templates.cpp: In function ‘int abs(int)’:
../src/templates.cpp:4: error: expected primary-expression before ‘return’
../src/templates.cpp:4: error: expected ‘:’ before ‘return’
../src/templates.cpp:4: error: expected primary-expression before ‘return’
../src/templates.cpp:4: error: expected ‘;’ before ‘return’
../src/templates.cpp:4: error: expected primary-expression before ‘:’ token
../src/templates.cpp:4: error: expected ‘;’ before ‘:’ token
../src/templates.cpp:5: warning: no return statement in function returning non-void
Run Code Online (Sandbox Code Playgroud)

如果我这样写

return a>=0 ? a : -a;
Run Code Online (Sandbox Code Playgroud)

我没有得到任何错误.这两者有什么区别?

c++ return ternary

31
推荐指数
5
解决办法
3万
查看次数