我见过这样的代码:
if(statement)
do this;
else
do this;
Run Code Online (Sandbox Code Playgroud)
我不喜欢这样,我认为这更清洁,更具可读性
if(statement){
do this;
}else{
do this;
}
Run Code Online (Sandbox Code Playgroud)
这只是一个偏好问题,还是会推荐一种方式?
PHP以其类型杂耍而闻名.我必须承认这让我很困惑,而且我很难在比较中找出基本的逻辑/基本事物.
例如:如果$a > $b是真实的,$b > $c是真实的,必须将它意味着$a > $c是永远真实的吗?
遵循基本逻辑,我会说是的,但是我很困惑,我真的不相信PHP.也许某人可以提供一个不是这样的例子?
另外,我想知道严格的小于和严格的大于运算符(因为它们的含义被严格描述,我过去只从等式比较中知道)如果左右操作数交换时有任何区别严格不平等的价值观:
# Precondition:
if ($a === $b) {
throw new Exception(
'Both are strictly equal - can not compare strictly for greater or smaller'
);
}
($a > $b) !== ($b > $a)
Run Code Online (Sandbox Code Playgroud)
对于大多数类型比较组合,这些更大/更小的比较运算符没有记录,因此在这种情况下阅读手册并不是真正有用.
我有以下代码
num1 = 10
someBoolValue = True
Run Code Online (Sandbox Code Playgroud)
我需要设置的值num1来20如果someBoolValue是True; 否则什么都不做.所以,这是我的代码
num1 = 20 if someBoolValue else num1
Run Code Online (Sandbox Code Playgroud)
有什么事我能避免这个...else num1部分让它看起来更干净吗?相当于
if someBoolValue:
num1 = 20
Run Code Online (Sandbox Code Playgroud)
我尝试用这样的方式替换它...else pass:num1=20 if someBoolValue else pass.我得到的只是语法错误.我也不能省略这...else num1部分.
我想写一个IF语句,如果条件为FALSE,则单元格保留为空.请注意,如果在C1中输入以下公式(条件为假),例如:
=IF(A1=1,B1,"")
Run Code Online (Sandbox Code Playgroud)
如果测试C1为空白或未使用,则即使C1似乎为空白=ISBLANK(C1),也会返回FALSE.这意味着=IF(A1=1,B1,"")如果不满足条件,则公式在技术上不会将单元格留空.
有关实现这一目标的方法的任何想法?谢谢,
我有以下代码:
if (this->_car.getAbsoluteAngle() <= 30 || this->_car.getAbsoluteAngle() >= 330)
this->_car.edir = Car::EDirection::RIGHT;
else if (this->_car.getAbsoluteAngle() > 30 && this->_car.getAbsoluteAngle() <= 60)
this->_car.edir = Car::EDirection::UP_RIGHT;
else if (this->_car.getAbsoluteAngle() > 60 && this->_car.getAbsoluteAngle() <= 120)
this->_car.edir = Car::EDirection::UP;
else if (this->_car.getAbsoluteAngle() > 120 && this->_car.getAbsoluteAngle() <= 150)
this->_car.edir = Car::EDirection::UP_LEFT;
else if (this->_car.getAbsoluteAngle() > 150 && this->_car.getAbsoluteAngle() <= 210)
this->_car.edir = Car::EDirection::LEFT;
else if (this->_car.getAbsoluteAngle() > 210 && this->_car.getAbsoluteAngle() <= 240)
this->_car.edir = Car::EDirection::DOWN_LEFT;
else if (this->_car.getAbsoluteAngle() > 240 && this->_car.getAbsoluteAngle() <= …Run Code Online (Sandbox Code Playgroud) 这可能是一种风格问题,但我们的开发团队有一点分歧,我想知道是否有其他人对此事有任何想法......
基本上,我们有一些调试打印语句,我们在正常开发过程中关闭.我个人更喜欢做以下事情:
//---- SomeSourceFile.cpp ----
#define DEBUG_ENABLED (0)
...
SomeFunction()
{
int someVariable = 5;
#if(DEBUG_ENABLED)
printf("Debugging: someVariable == %d", someVariable);
#endif
}
Run Code Online (Sandbox Code Playgroud)
有些团队更喜欢以下内容:
// #define DEBUG_ENABLED
...
SomeFunction()
{
int someVariable = 5;
#ifdef DEBUG_ENABLED
printf("Debugging: someVariable == %d", someVariable);
#endif
}
Run Code Online (Sandbox Code Playgroud)
......哪些方法对你来说听起来更好?为什么?我的感觉是,第一个更安全,因为总有一些东西被定义,并且没有危险它可以破坏其他地方的其他定义.
由于编译器优化,Switch语句通常比等效的if-else-if语句更快(例如本文中描述的).
这种优化实际上如何运作?有没有人有一个很好的解释?
我正在尝试做一些常见的事情:在shell脚本中解析用户输入.如果用户提供了有效的整数,则脚本会执行一项操作,如果无效,则执行其他操作.麻烦的是,我还没有找到一种简单(而且相当优雅)的方式 - 我不想用char来区分char.
我知道这一定很容易,但我不知道如何.我可以用十几种语言来做,但不是BASH!
在我的研究中,我发现了这个:
其中有一个关于正则表达式的答案,但据我所知,这是C(以及其他)中可用的函数.尽管如此,它看起来像是一个很好的答案,所以我用grep尝试了它,但是grep不知道该怎么做.我试过-P在我的盒子上意味着把它当作PERL regexp - nada.Dash E(-E)也没有用.并且-F都没有.
为了清楚起见,我正在尝试这样的东西,寻找任何输出 - 从那里,我将破解脚本以利用我得到的任何东西.(IOW,我期待一个不合格的输入在有效行重复时不返回任何内容.)
snafu=$(echo "$2" | grep -E "/^[-+]?(?:\.[0-9]+|(?:0|[1-9][0-9]*)(?:\.[0-9]*)?)$/")
if [ -z "$snafu" ] ;
then
echo "Not an integer - nothing back from the grep"
else
echo "Integer."
fi
Run Code Online (Sandbox Code Playgroud)
有人请说明这是最容易做到的吗?
坦率地说,在我看来,这是TEST的缩影.它应该有这样的旗帜
if [ -I "string" ] ;
then
echo "String is a valid integer."
else
echo "String is not a valid integer."
fi
Run Code Online (Sandbox Code Playgroud) 我可以以某种方式在angularjs表达式中使用if-then-else构造(三元运算符),例如我有函数$ scope.isExists(item)必须返回bool值.我想要这样的东西,
<div ng-repeater="item in items">
<div>{{item.description}}</div>
<div>{{isExists(item) ? 'available' : 'oh no, you don't have it'}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用返回字符串的函数,我很有兴趣在表达式中使用if-then-else构造.谢谢.
javascript if-statement ternary-operator angularjs angularjs-ng-repeat
我想知道这个问题是否可以用Java解决(我是语言新手).这是代码:
class Condition {
// you can change in the main
public static void main(String[] args) {
int x = 0;
if (x == x) {
System.out.println("Ok");
} else {
System.out.println("Not ok");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在实验室收到了以下问题:如何在x == x不修改条件本身的情况下跳过第一种情况(即使条件为假)?
if-statement ×10
c++ ×2
coding-style ×2
angularjs ×1
bash ×1
c ×1
c# ×1
comparison ×1
curly-braces ×1
excel ×1
excel-2010 ×1
ieee-754 ×1
integer ×1
java ×1
javascript ×1
logic ×1
performance ×1
php ×1
python ×1
string ×1