标签: conditional

为什么下面的代码只返回a = 1?

为什么下面的代码只返回a = 1?

main(){
int a = 10;
if (true == a)
     cout<<"Why am I not getting executed";
}
Run Code Online (Sandbox Code Playgroud)

c++ conditional

13
推荐指数
3
解决办法
1963
查看次数

如何在Sybase(TSQL)中有条件地创建表?

好的,所以Sybase(12.5.4)将允许我执行以下操作以DROP表(如果它已经存在):

IF EXISTS (
    SELECT 1
    FROM sysobjects
    WHERE name = 'a_table'
    AND type = 'U'
)
DROP TABLE a_table
GO
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试对表创建执行相同操作,我总是会收到警告,表已经存在,因为它继续并尝试创建我的表并忽略条件语句.试试两次运行以下语句,你会明白我的意思:

IF NOT EXISTS (
    SELECT 1
    FROM sysobjects
    WHERE name = 'a_table'
    AND type = 'U'
)
CREATE TABLE a_table (
    col1 int not null,
    col2 int null
)
GO
Run Code Online (Sandbox Code Playgroud)

运行以上错误会产生以下错误:

SQL Server错误(localhost)错误:2714 at Line:7消息:数据库中已存在名为"a_table"的对象.

这有什么用??!

t-sql ddl conditional sybase-ase

13
推荐指数
2
解决办法
4万
查看次数

如果vs Case语句

在处理多个条件时使用if-else和case语句之间是否存在性能差异?

哪个更受欢迎?

performance conditional

13
推荐指数
4
解决办法
2万
查看次数

如何有条件地过滤WHERE子句中的列?

没错,第十个条件列问题:

我正在编写一个存储过程,它接受一个映射到几个标志列之一的输入参数.筛选请求列的最佳方法是什么?我目前正在使用SQL2000,但即将转向SQL2008,所以如果可以的话,我会采用现代解决方案.

在sproc中查询的表格看起来像

ID ...  fooFlag  barFlag  bazFlag  quuxFlag
--      -------  -------  -------  --------
01         1        0       0          1
02         0        1       0          0
03         0        0       1          1
04         1        0       0          0
Run Code Online (Sandbox Code Playgroud)

我想做点什么

select ID, name, description, ...
from myTable
where (colname like @flag + 'Flag') = 1
Run Code Online (Sandbox Code Playgroud)

所以,如果我打电话给exec uspMyProc @flag = 'foo'我,我会回到第1和第4行.

我知道我不能直接在SQL中用parens做这个部分.为了做动态SQL,我必须将整个查询填充到一个字符串中,在WHERE子句中连接@flag param,然后执行字符串.除了在进行动态SQL时我得到的肮脏感觉,我的查询相当大(我选择了几十个字段,加入了5个表,调用了几个函数),所以它是一个巨大的字符串,因为一行在3行WHERE过滤器中.

或者,我可以有4个查询副本,并在CASE语句中选择它们.这使得SQL代码可以直接执行(并且受语法高亮等影响)但是以重复大块代码为代价,因为我不能仅在WHERE子句上使用CASE.

还有其他选择吗?可以应用任何棘手的连接或逻辑操作?或者我应该克服它并执行动态SQL?

t-sql conditional dynamic where-clause

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

编程语言中的链式不等式表示法

是否有一种支持链式符号的编程语言a <b <c而不是条件语句中的<b和b <c?

例:

  1. 如果(2 <x <5)
  2. if(2 <x && x <5)

第一个声明对我来说更好看,它更容易理解,编译器可以使用传递性属性来警告错误(例如5 <x <2会发出警告).

conditional programming-languages

13
推荐指数
2
解决办法
2820
查看次数

Ant:条件复制

如果用户允许,我想覆盖Windows机器上的hosts文件:

<input message="Do you want to overwrite the HOSTS file?"
       addproperty="overwrite.hosts" validargs="yes,no" />

<copy tofile="${env.WINDIR}/system32/drivers/etc/hosts.backup">
    <fileset file="${env.WINDIR}/system32/drivers/etc/hosts" />
</copy>

<copy todir="${env.WINDIR}/system32/drivers/etc">
    <fileset file="${trainer.dir}/hosts" />
</copy>
Run Code Online (Sandbox Code Playgroud)

仅当用户说"是"时,我该如何处理副本?

编辑:

我试过这个:

    <input message="Do you want to overwrite the HOSTS file?" addproperty="overwrite.hosts" validargs="yes,no" />

    <if>
        <equals arg1="${overwrite.hosts}" arg2="yes" />
        <then>
            <copy tofile="${env.windir}/system32/drivers/etc/hosts.backup">
                <fileset file="${env.windir}/system32/drivers/etc/hosts">
                </fileset>
            </copy>

            <copy todir="${env.windir}/system32/drivers/etc">
                <fileset file="${trainer.dir}/hosts">
                </fileset>
            </copy>
        </then>
    </if>
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

C:\trainer\build.xml:16: Problem: failed to create task or type if
Cause: The name is undefined.
Action: Check the spelling.
Action: …
Run Code Online (Sandbox Code Playgroud)

ant conditional

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

bool上的字符串比较

我很确定这是我新手PHP知识中的一个简单的基本缺陷,但是当发生以下情况时我感到很惊讶:

在此输入图像描述

$resultTRUE......那为什么它被认为等于字符串"email"?我猜这是因为,从技术上讲,它是一个bool而且它不是假的?因此,当它与字符串(例如"email")进行比较时,它返回true.

我应该更改我的方法作为string包含"true"(而不是return true;成功)的结果返回,还是我应该采取另一种方式?

谢谢.

php conditional boolean-operations

13
推荐指数
1
解决办法
4035
查看次数

有条件地显示纯HTML元素

我想有条件地显示以下元素:

<li>
  <h:link outcome="mypage" value="My Value" />
</li>
Run Code Online (Sandbox Code Playgroud)

所以我的病情应该确定<li>标签及其所有孩子是否会被显示.AFAIK,我不能使用<f:verbatim>因为<li>tag(<h:link>)里面的UIComponent .

有任何想法吗?

html conditional jsf-2

13
推荐指数
1
解决办法
8721
查看次数

动态或条件显示Jenkins作业的参数(而不是它们的值群)

假设我有两个(或更多)类型的项目:app(应用程序)和svc(服务),我创建了一个Jenkins作业(常见作业),它有很多参数.这个常见的工作可能会调用另一个下游/单个项目类型的作业(触发其他项目构建等并传递相应的参数),但这超出了这个问题的范围.

例如:
PROJ_TYPE (具有值的选择参数类型:app,svc)
Param2 (某种类型)
Param3 (级联类型,即它取决于父参数PROJ_TYPE的值).
Param4 (假设我想仅在PROJ_TYPE被选为"app"时显示此参数)
Param5 (某种类型)
Param6 (假设我只想在PROJ_TYPE被选为"svc"时显示此参数.此参数可以是任何类型,即选择,动态,扩展选择等)

如果我在Jenkins作业中有上述参数,那么Jenkins作业将在用户尝试构建时显示/提示所有参数(即使用参数构建).

只有当PROJ_TYPE参数被选为app时,Jenkins才有可能显示参数(Param4),否则我不想显示这个参数 - 或者如果有可能将它变灰?即在这种情况下,作业将只显示PROJ_TYPE,Param2,Param3,Param4和Param5(并且不会显示Param6或它被禁用/灰显).

同样,我想只显示参数(Param6),如果PROJ_TYPE参数被选为svc,否则我不想显示这个参数 - 或者某种方式如果可以将它变灰?即在这种情况下,作业将只显示PROJ_TYPE,Param2,Param3,Param5和Param6(并且不会显示Param4或它被禁用/灰显).

parameters conditional optional-parameters jenkins jenkins-plugins

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

如何在嵌套for循环中使用类似continue语句的东西?

我有一类对象,需要将每个对象的一个​​属性与所有其他对象的相同属性进行比较.如果匹配,代码需要做一些事情.这导致两个'for循环'循环遍历对象以获取该属性,而在第二个'for循环'中,有第三个'for循环'遍历属性的元素(这是一个向量)来比较它们.如果它们匹配,我需要最外面的'for循环'来中止当前迭代并继续下一个(我只希望第一个匹配另一个对象被考虑​​).

我已经研究了'goto'语句并创建了一个do {} while()结构,但是却无法以获得所需结果的方式实现它们.我需要的是基于内部循环中条件语句中发生的事情,最外层循环的'continue'语句.

哪个是实现这一目标的好方法,它将如何实施?

编辑:在我接受的答案旁边,我也会推荐Martin Bonner的答案,这也很好,并且不依赖于goto.

for (int i = 0; i < max; i++){
Object & object1 = system.getAgent(i);
VectorOfStrings object_property1 = object1.getProperty();

    for (int j = i + 1; j < max; j++){
    Object & object2 = system.getObject(j);
    VectorOfStrings object_property2 = object2.getProperty();

        for (unsigned int k = 0; k < object_property1.size(); k++){

            if (object_property1[k] == object_property2[k]){

            //do something

            break; //this aborts the inner most loop
            //Additionally, I need the outer most loop to move on one iteration …
Run Code Online (Sandbox Code Playgroud)

c++ conditional loops continue nested-loops

13
推荐指数
4
解决办法
1万
查看次数