我一直在思考一些初学者的错误,最后我得到了if陈述中的错误。我对此扩展了一些代码:
int i = 0;
if (i = 1 && i == 0) {
std::cout << i;
}
Run Code Online (Sandbox Code Playgroud)
我已经看到if语句返回真实的,它cout的i作为1。如果在if语句中i分配1了if,为什么i == 0返回true?
我想知道在if语句中检查退出状态以回显特定输出的最佳方法是什么.
我在想它
if [ $? -eq 1 ]
then
echo "blah blah blah"
fi
Run Code Online (Sandbox Code Playgroud)
我也遇到的问题是,exit语句在if语句之前只是因为它必须有退出代码,我知道我也做错了,因为退出wold显然会退出程序.
我想知道是否有一种角度有条件地显示内容而不是使用ng-show等.例如在backbone.js我可以在模板中使用内联内容做一些事情,如:
<% if (myVar === "two") { %> show this<% } %>
Run Code Online (Sandbox Code Playgroud)
但在角度方面,我似乎仅限于显示和隐藏包含在html标签中的内容
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
Run Code Online (Sandbox Code Playgroud)
如果使用{{}}而不是将内容包装在html标记中,有条件地以角度显示和隐藏内嵌内容的角度建议方法是什么?
我找不到任何一个简单直接的资源,用于解释以下BASH shell错误的含义和修复,所以我发布了我在研究之后发现的内容.
错误:
-bash: [: too many arguments
Run Code Online (Sandbox Code Playgroud)
Google友好版: bash open square bracket colon too many arguments.
上下文:单个方括号中的if条件,带有一个简单的比较运算符,如equals,大于等,例如:
VARIABLE=$(/some/command);
if [ $VARIABLE == 0 ]; then
# some action
fi
Run Code Online (Sandbox Code Playgroud) 我有这样的事情:
extensionsToCheck = ['.pdf', '.doc', '.xls']
for extension in extensionsToCheck:
if extension in url_string:
print(url_string)
Run Code Online (Sandbox Code Playgroud)
我想知道在python中更优雅的方式是什么(不使用for循环)?我在考虑这样的事情(比如来自c/c ++),但它不起作用:
if ('.pdf' or '.doc' or '.xls') in url_string:
print(url_string)
Run Code Online (Sandbox Code Playgroud)
编辑:我有点不得不解释这与下面的问题有什么不同,后者被标记为潜在的重复(所以它不会被关闭我猜).
区别在于,我想检查字符串是否是某些字符串列表的一部分,而另一个问题是检查字符串列表中的字符串是否是另一个字符串的子字符串.当你在线寻找答案时,类似但不完全相同的事物和语义很重要.这两个问题实际上是在寻求解决彼此相反的问题.两者的解决方案结果都是相同的.
具体来说,如果我有一系列if... else if语句,并且我事先知道每个语句将评估的相对概率,true它按照概率的顺序对它们进行排序有多大差异?例如,我应该更喜欢这个:
if (highly_likely)
//do something
else if (somewhat_likely)
//do something
else if (unlikely)
//do something
Run Code Online (Sandbox Code Playgroud)
对此?:
if (unlikely)
//do something
else if (somewhat_likely)
//do something
else if (highly_likely)
//do something
Run Code Online (Sandbox Code Playgroud)
很明显,排序版本会更快,但是为了便于阅读或存在副作用,我们可能希望对它们进行非最佳排序.在您实际运行代码之前,很难判断CPU在分支预测方面的表现如何.
因此,在尝试这个过程中,我最终回答了我自己的问题,但我还想听听其他意见/见解.
重要提示:此问题假定if语句可以任意重新排序,而不会对程序的行为产生任何其他影响.在我的回答中,三个条件测试是互斥的,不会产生副作用.当然,如果必须按某种顺序评估陈述以达到某些预期的行为,那么效率问题就没有实际意义.
是否可以使用范围运算符...和..<if语句.Maye是这样的:
let statusCode = 204
if statusCode in 200 ..< 299 {
NSLog("Success")
}
Run Code Online (Sandbox Code Playgroud) 虽然意见不言而喻,但在单行if语句中放弃大括号并不是理想的可维护性和可读性.
但是这个怎么样?
if (lemons) { document.write("foo gave me a bar"); }
Run Code Online (Sandbox Code Playgroud)
它甚至更加压缩,如果扩展,花括号将不会被遗忘.有没有明显的问题,如果没有,有什么考虑?我觉得它仍然非常易读,至少和三元运算符一样多.在我看来,由于可读性,三元运算符的建议并不多,尽管我觉得这个结论并不是那么一致.
在我这个邪恶的双胞胎想要建议这一点,虽然语法显然不适合它,并且可能只是一个坏主意.
(syntax) ? document.write("My evil twin emerges"): "";
Run Code Online (Sandbox Code Playgroud) 这两行代码有什么区别:
if not x == 'val':
Run Code Online (Sandbox Code Playgroud)
和
if x != 'val':
Run Code Online (Sandbox Code Playgroud)
一个比另一个更有效吗?
使用会更好吗?
if x == 'val':
pass
else:
Run Code Online (Sandbox Code Playgroud) 我知道有一种方法可以if用简短的形式编写Java 语句.
if (city.getName() != null) {
name = city.getName();
} else {
name="N/A";
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何将上述5行的短格式写成一行?
if-statement ×10
bash ×2
c++ ×2
python ×2
angularjs ×1
arguments ×1
equality ×1
java ×1
javascript ×1
optimization ×1
performance ×1
range ×1
shell ×1
string ×1
swift ×1