我可以在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)
对不起,如果这个控制声明和我无法通过现场和谷歌搜索找到信息,我记不起名字了.:/
无论如何在Lua使用内联条件?
如:
print("blah: " .. (a == true ? "blah" : "nahblah"))
Run Code Online (Sandbox Code Playgroud) 是否可以在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.
如果选中下拉列表中的选项,我需要返回true或false.
这是我的代码:
var active = sort.attr('selected') ? return true : return false;
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,第一个return是意外的.
为什么?
我想知道是否可以进行三元操作但没有返回任何东西.
如果在Java中不可能在其他语言中使用,那么哪些适用?
name.isChecked() ? name.setChecked(true):name.setChecked(false);
Run Code Online (Sandbox Code Playgroud) 我正在编写一个控制台应用程序,试图通过反复试验来"猜测"一个数字,它工作得很好,除了它让我想知道某个部分是我心不在焉地写的,
代码是:
#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),它会工作,它似乎工作正常但是有离开的风险条件空的那部分?
我正在尝试简化以下代码.
代码应执行的基本步骤如下:
一个简单的例子是:
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'字符串.这可能吗?或者我该怎么办?
谢谢你的建议.
蒂姆
想象一下,我有一个班级家庭.它包含一个人员列表.每个(类)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
在这种小提琴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语句呢?
我使用三元运算符编写了绝对函数,如下所示
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)
我没有得到任何错误.这两者有什么区别?