在本文中,我们将带你了解如何使OR(||)和AND(u0026u0026)语句协同工作?PHP在这篇文章中,我们将为您详细介绍如何使OR(||)和AND(u0026u0026)语句协同工作?PHP的方
在本文中,我们将带你了解如何使OR(||)和AND(u0026u0026)语句协同工作? PHP在这篇文章中,我们将为您详细介绍如何使OR(||)和AND(u0026u0026)语句协同工作? PHP的方方面面,并解答or语句 excel常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定、bash – Unix布尔运算符(u0026u0026,-a,||,-o)、bash – 如何在我自己的函数中使用u0026u0026?、c – auto u0026u0026如何延长临时对象的生命周期?。
本文目录一览:- 如何使OR(||)和AND(u0026u0026)语句协同工作? PHP(or语句 excel)
- android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定
- bash – Unix布尔运算符(u0026u0026,-a,||,-o)
- bash – 如何在我自己的函数中使用u0026u0026?
- c – auto u0026u0026如何延长临时对象的生命周期?
如何使OR(||)和AND(u0026u0026)语句协同工作? PHP(or语句 excel)
我无法使此代码正常工作
if ($title != 'Main' || $nSpace == 56 || $nSpace == 30 && $ifHome != 361)
所以我同意了这个代码
if ($title != 'ArticleCategories' || $nSpace == 1)
if ($nSpace == 0 && $ifHome != 1)
因此,我现在想知道如何将这两条线合并为一条线以使其起作用?我知道如何获得多个或||语句排成一行,但不是或||和&&&一起声明.
解决方法:
使用parens以对您的程序有意义的方式将逻辑分组在一起.
if ($title != 'Main' || $nSpace == 56 || ($nSpace == 30 && $ifHome != 361))
android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定
在前台服务中我使用FFMPEG对媒体进行编码.通过记录编码进度,我注意到进程暂停(在某些设备中)
设备通过wifi连接到adb(非USB)&&屏幕被锁定.
我试过了 :
try {
final PowerManager mgr = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (mgr != null) {
wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "TAG:WakeLock");
if (!wakeLock.isHeld()) {
wakeLock.acquire();
Log.i("AppController","Engaging WakeLock");
}else{
Log.i("AppController","WakeLock was already engaged");
}
}
} catch (Exception ignored) {
}
在Application类||中尝试了AlarmManager我的服务类.
我试过了commonsguy/cwac-wakeful.
试图忽略电池优化
一分钟后cpu仍然进入睡眠状态.
服务
public class CompressionService extends Service {
private Messenger _activityMessenger;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
_activityMessenger = intent.getParcelableExtra(MESSENGER_INTENT_KEY);
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
private final IFFmpegProcessService.Stub mBinder = new IFFmpegProcessService.Stub() {
@Override
public void startEncode(final List<String> ffmpegArgs, final String outputFile) {
ExecuteBinaryResponseHandler handler = new ExecuteBinaryResponseHandler() {
@Override
public void onProgress(String s) {
long progress = FFmpegUtil.getProgres(s);
Log.d("JOB_PROGRESS: " + progress);
sendMessage(progress);
}
};
FFmpegUtil.call(handler);
}
@Override public void cancel() throws remoteexception { }
@Override public boolean isEncoding() throws remoteexception {return false; }
};
private void sendMessage(@Nullable Object params) {
Message m = Message.obtain();
m.what = MessageId.JOB_PROGRESS.ordinal();
m.obj = params;
try {
_activityMessenger.send(m);
} catch (remoteexception e) { e.printstacktrace();}
}
}
在API 24上运行|| API 26 Honor 8 Lite
解决方法:
您需要将其实现为ForegroundService.至少要从API级别26避免暂停.
bash – Unix布尔运算符(u0026u0026,-a,||,-o)
对这两种类型的使用有什么限制?
简单来说,&&&和||在使用条件的时候应该使用运算符?
如:
[“$ 1”=“是”]&& [-r $ 2.txt]
与:
[“$ 1”=“是”-a $ 2 -lt 3]
了解shell语法与[command的语法之间的区别很重要。
>&&&和||是shell操作符。它们用于组合两个命令的结果。因为它们是shell语法,它们具有特殊的语法意义,不能用作命令的参数。
> [不是特殊的语法。它实际上是一个命名,也称为测试。由于[只是一个常规的命令,它使用-a和-o作为其和和/或操作符。它不能使用& amp;&和||因为那些命令没有看到的shell语法。
可是等等! Bash具有[[]]形式的优点测试语法。如果使用双方括号,则可以访问正则表达式和通配符。您也可以使用像& amp;& |||,<和>自由地在括号内,因为不同于[,双括号的形式是特殊的shell语法。 Bash解析[[本身,所以你可以写这样的东西,如[[$ foo == 5&& $ bar == 6]]。
bash – 如何在我自己的函数中使用u0026u0026?
#!/bin/bash echo "Hello" && echo "World"
但是,运行它只打印出“你好”
#!/bin/bash message() { echo "Hello" return 1 } message && echo "World"
为什么这不起作用?如何更改我的脚本呢?
解决方法
所以改变返回1返回0
c – auto u0026u0026如何延长临时对象的生命周期?
#include <iostream>struct O{ ~O() { std::cout << "~O()\n"; }};struct wrapper{ O const& val; ~wrapper() { std::cout << "~wrapper()\n"; }};struct wrapperEx // with explicit ctor{ O const& val; explicit wrapperEx(O const& val) : val(val) {} ~wrapperEx() { std::cout << "~wrapperEx()\n"; }};template<class T>T&& f(T&& t){ return std::forward<T>(t);}int main(){ std::cout << "case 1-----------\n"; { auto&& a = wrapper{O()}; std::cout << "end-scope\n"; } std::cout << "case 2-----------\n"; { auto a = wrapper{O()}; std::cout << "end-scope\n"; } std::cout << "case 3-----------\n"; { auto&& a = wrapper{f(O())}; std::cout << "end-scope\n"; } std::cout << "case Ex-----------\n"; { auto&& a = wrapperEx{O()}; std::cout << "end-scope\n"; } return 0;}
看到现场here.
据说汽车&&将延长临时对象的终身时间,但是我在这个规则上找不到标准单词,至少不在N3690中.
最相关的可能是关于临时对象的第12.2.5节,但不完全是我正在寻找的.
那么,自动和&终生时间扩展规则适用于表达式中涉及的所有临时对象,还是仅适用于最终结果?
更具体地说,在我们到达范围1之前,a.val保证是有效的(非悬挂)?
编辑:
我更新了示例以显示更多的案例(3& Ex).
你会看到,只有在情况1,O的生命周期被延长.
解决方法
const auto& a = wrapper{O()};
要么
const wrapper& a = wrapper{O()};
或者也
wrapper&& a = wrapper{O()};
More specific,is
a.val
guaranteed to be valid (non-dangling) before we reach the end-of-scope in case 1?是的.
在这里,几乎没有什么特别重要的汽车.它只是编译器推导的正确类型(包装)的占位符.主要的一点是临时被绑定到一个参考.
有关详细信息,请参阅A Candidate For the “Most Important const”我引用:
normally,a temporary object lasts only until the end of the full expression in which it appears. However,C++ deliberately specifies that binding a temporary object to a reference to const on the stack lengthens the lifetime of the temporary to the lifetime of the reference itself
这篇文章是关于C 03,但参数仍然有效:一个临时可以绑定到一个引用const(但不是引用非const).在C 11中,临时值也可以绑定到r值引用.在这两种情况下,临时的生命周期都延长到引用的生命周期.
C11标准的相关部分正是OP中提到的那些,即12.2 p4和p5:
4 – There are two contexts in which temporaries are destroyed at a
different point than the end of the full expression. The first context
is […]5 – The second context is when a reference is bound to a temporary. […]
(在这些行后面的项目符号中有一些例外.)
更新:(按照texasbruce的评论.)
情况2的寿命短的原因是我们有自动a =包装{O()}; (见,没有&这里),然后暂时没有绑定到引用.实际上,临时是使用编译器生成的拷贝构造函数进行复制的.因此,暂时的终身没有扩张,在完整的表达结束时就会死亡.
在这个特定的例子中有一个危险,因为wrapper :: val是一个引用.编译器生成的wrapper构造函数将绑定a.val到与临时val成员绑定的同一个对象.这个对象也是一个临时的,但是类型为O.然后,当这个对象暂时死亡时,我们在屏幕上看到〜O(),并且a.val dangles!
对比案例2与此:
std::cout << "case 3-----------\n";{ O o; auto a = wrapper{o}; std::cout << "end-scope\n";}输出是(当使用gcc编译时使用选项-fno-elide-constructors)
case 3-----------~wrapper()end-scope~wrapper()~O()现在临时包装器的val成员绑定到o.注意o不是临时的.正如我所说,a是临时包装的副本,a.val也绑定到
O操作.在范围结束之前,临时包装器死亡,我们在屏幕上看到第一个〜wrapper().然后范围结束,我们得到终点.现在,a和o必须以相反的构造顺序被销毁,所以我们看到〜wrapper()当一个死亡,最后〜O()当它的时间.这表明a.val不会发生变化.
(最后的话:我已经使用-fno-elide-constructors来防止与复制结构相关的优化,这将使这里的讨论复杂化,但这是另一个story.)
关于如何使OR(||)和AND(u0026u0026)语句协同工作? PHP和or语句 excel的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于android – 当应用程序处于后台时,服务暂停u0026u0026屏幕被锁定、bash – Unix布尔运算符(u0026u0026,-a,||,-o)、bash – 如何在我自己的函数中使用u0026u0026?、c – auto u0026u0026如何延长临时对象的生命周期?的相关知识,请在本站寻找。
本文标签: