标签: conditional-statements

将逗号运算符与条件运算符一起使用

,我正在学习 C++,并在使用and运算符时偶然发现了以下行为?:。条件运算符的语法如下所示E1 ? E2 : E3,其中 E1、E2 和 E3 是表达式[1],[2]。我从这段代码开始:

#include <iostream>

using namespace std;

int main(){
    int x = 20, y = 25;
    x > y ? cout << "x > y\n" , cout << "x is greater than y" : cout << "x !> y\n", cout << "x is not greater than y";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

和输出:

x !> y
x is not greater than y
Run Code Online (Sandbox Code Playgroud)

这就是我期待的结果。但是当我更改值以int x = 25, y = …

c++ comma-operator conditional-statements operator-keyword

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

Ansible:如果远程主机上存在文件,则回显该文件的内容

我有一个 ansible 剧本,其中一个任务取决于文件是否存在,如果存在,我想触发下一个任务并回显文件的内容。

这是代码块:

---
- name: If Pass File Exists
  stat:
    path: /var/lib/File
  register: result

- name: Read Password
  when: result.changed
  shell: cat /var/lib/File
  changed_when: false
  register: adm_pass

- name: Echo Password
  when: adm_pass.changed
  debug:
    var: adm_pass.stdout
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,最后一个任务会跳过,因为它没有改变,它的状态是好的。我怎样才能完成最后一个任务?

conditional-statements ansible

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

反应条件渲染的最佳实践?

我有一个在切换按钮时应显示的 div/部分

{
  this.state.viewButtonClicked ?  <Solution solution= {this.state.activeSolution}/> : <React.Fragment/>
} 
Run Code Online (Sandbox Code Playgroud)

使用三元运算符适合于此吗?

在这种情况下,如果按钮为 false,则不显示某些内容的最佳做法是什么?

React.Fragment 可以吗?

基本上,如果 viewButtonClicked 为 false,我想返回/渲染 null。

rendering jsx conditional-statements reactjs

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

根据函数删除 Julia 矩阵的行

如果给定了索引,则有多个问题涉及删除 Julia 矩阵中的特定行。

如何在Julia中删除矩阵的一行

Julia:从数组或矩阵中删除行和列

我需要的略有不同,因为我只想在所有行的值都为零时删除矩阵的一行。当您想删除给定特定条件或函数的行时,也许您可​​以概括我的问题。这里可能是连续的,sum(row .!= 0) == 0

我在这里找到了我需要的列的确切换位,但我无法将其调整为行。我试过:

a[vec(mapslices(col -> any(col .!= 0), a, dims = 1)), :]
a[:, vec(mapslices(col -> any(col .!= 0), a, dims = 2))]
Run Code Online (Sandbox Code Playgroud)

两者均未成功。

举个例子,我想删除以下矩阵中的第三行。

1 0 0 0 0
0 1 0 0 0
0 0 0 0 0
0 0 0 1 0
Run Code Online (Sandbox Code Playgroud)

最后,如果可能的话,我更愿意创建矩阵的视图而不是复制。这不是强制性的,但我认为我不需要副本,因此它可能会更好地运行时间:)

arrays performance matrix conditional-statements julia

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

terraform 数据源中的 if-else 条件

我的问题很简单,但在整个互联网上找不到任何示例或解决方案。我想在中使用 if-else 条件data sourceterraform 中使用 if-else 条件,并根据它应该搜索结果的值。我们的 AWS 账户中有 2 个不同的 VPC:1. Prod VPC、2. RDS VPC

过滤器应基于布尔变量 var.rds_vpc 工作

伪代码:

data "aws_vpc" "vpc" {
  if var.rds_vpc == true:
    tags = {
      Name = "rds_vpc"
      Type = "database"
    }
  else:
    tags = {
      Cluster     = "live_vpc"
      Enviornment = "production"
    }

}
Run Code Online (Sandbox Code Playgroud)

如果两个 VPC 可以具有相似的标签,我可以简单地通过变量传递值。但在上面的例子中,标签也不同。

如果有人可以提供帮助,我将非常感激。

if-statement datasource conditional-statements terraform terraform-provider-aws

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

以行为条件,修改所有列而不循环

我想要做的是根据行条件修改 R 数据表的所有选定列,即在此输入图像描述

对于 cols 变量中选择的所有 4 列,如果值大于(或等于)1.5,我想将它们设置为 1,否则为 0

我尝试过类似的事情:iris[(cols) > 1.5 , (cols) := 1, .SDcols = cols]

谢谢

r rows conditional-statements data.table

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

为什么我的三元运算符会出现这些错误?

这是我在控制台中得到的:Unnecessary use of boolean literals in conditional expression no-unneeded-ternary.

我只是想做一个三元运算符来验证游戏的状态,并且只有当游戏已经开始并且 user.role 与玩家相等时我才会禁用按钮。我正在使用 Reactjs,并在 FormField 挂钩的帮助下制作一个表单。

disabled ={(game.state === 'started' && user.role === PLAYER) ? true : false} 
Run Code Online (Sandbox Code Playgroud)

javascript conditional-operator conditional-statements reactjs

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

通过 REDUCE 检查 itab 的所有行是否符合条件?

为了检查内表的所有条目是否lt_itab满足条件 COND,我想使用 REDUCE 语句。一旦发生违反 COND 的行,循环当然需要终止。下面的第二个代码块似乎可以工作,但在我看来像是对迭代索引的轻微滥用。您是否知道 REDUCE 语法中有更好/更透明的解决方案?是否可以使用迭代变量的结构(整数、布尔值)?该INDEX INTO选项似乎不适用于 REDUCE。与内核版本 753(或更低版本)的兼容性会很好。

这是我的最小可重现示例(MRE),仅在lvr_flag_allowed = abap_false OR注释掉时才通过语法检查(即 -> "lvr_flag_allowed = abap_false OR):

DATA: lt_itab         TYPE TABLE OF i,
      rv_flag_allowed TYPE boole_d.

lt_itab = VALUE #( ( 2 ) ( 1 ) ( -1 ) ( 5 ) ).

IF lt_itab IS NOT INITIAL.
  rv_flag_allowed = REDUCE #( INIT lvr_flag_allowed = abap_true
                              FOR lvf_idx = 1 UNTIL lvr_flag_allowed =  abap_false OR
                                                    lvf_idx > lines( …
Run Code Online (Sandbox Code Playgroud)

abap loops conditional-statements until-loop

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

子字符串匹配条件时的 Argo 工作流程

如果字符串以特定子字符串开头,我想在 Argo 工作流程中执行任务。例如,我的字符串是tests/dev-or.yaml,如果我的字符串以以下开头,我想执行任务tasks/

这是我的工作流程,但条件没有得到正确验证

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: conditional-
spec:
  entrypoint: conditional-example
  arguments:
    parameters:
    - name: should-print
      value: "tests/dev-or.yaml"

  templates:
  - name: conditional-example
    inputs:
      parameters:
      - name: should-print
    steps:
    - - name: print-hello
        template: whalesay
        when: "{{inputs.parameters.should-print }} startsWith 'tests/'"

  - name: whalesay
    container:
      image: docker/whalesay:latest
      command: [sh, -c]
      args: ["cowsay hello"]
Run Code Online (Sandbox Code Playgroud)

以下是我运行工作流程时出现的错误

WorkflowFailed 7s workflow-controller  Invalid 'when' expression 'tests/dev-or.yaml startsWith 'tests/'': Unable to access unexported field 'yaml' in token 'or.yaml'
Run Code Online (Sandbox Code Playgroud)

似乎它不接受-, .yaml …

conditional-statements kubernetes argocd argo-workflows

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

在条件表达式中重新引发异常

catch使用条件表达式重写以下块中的代码的正确方法是什么?如果支持的话!?

try
{
    return await _client.GetStreamAsync(_uri);
}
catch
{                
    if (IsConnected)
        throw;
    else
        throw new IOException();
}
Run Code Online (Sandbox Code Playgroud)

C# 编译器不喜欢以下内容

IsConnected ? throw : new IOException();
Run Code Online (Sandbox Code Playgroud)

请注意,重新抛出捕获的异常(如下所示)违反了CA2200

try
{
    return await _client.GetStreamAsync(_uri);
}
catch (Exception ex)
{
    throw IsConnected ? throw ex : new IOException();
}
Run Code Online (Sandbox Code Playgroud)

c# exception conditional-statements

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