标签: conditional

如何缩进'if'语句的长条件?

我的问题与前一个问题有关,但所提供的解决方案并未解决我在下面概述的问题.谷歌搜索后,我没有找到任何代码样式指南,解决像这样的if语句中的长条件的具体问题.

if( isNull(value1) ||
    isToLong(value1) ||
    hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

要么:

if( isNull(value1) || isToLong(value1) || hasBadFormat(valule1) ){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

我对这两种风格的问题是它让我的眼睛难以在真正的块中找到代码并将其与条件分开,或者在长条件后很难确定正确的下一行一行,特别是if语句已经缩进函数或其他if语句中的几个选项卡.

做这样的事情会更好吗?

if(     isNull(value1) ||
        isToLong(value1) ||
        hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

或者这种风格会更好地以下列方式之一缩进每个新条件:

if( isNull(value1) ||
        isToLong(value1) ||
            hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}

if( isNull(value1) 
        || isToLong(value1) 
            || hasBadFormat(valule1) ){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

有没有人有一个编码风格指南(可能是公司编码风格政策),以不同于我提出的方式解决这个问题?哪一个更好,你能找到我提到的解决方案的任何缺点或优点吗?

conditional if-statement coding-style

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

如何在Perl中有条件地使用模块?

我想在Perl中做这样的事情:

$Module1="ReportHashFile1"; # ReportHashFile1.pm
$Module2="ReportHashFile2"; # ReportHashFile2.pm

if(Condition1)
{
  use $Module1;
}
elsif(Condition2)
{
  use $Module2;
}
Run Code Online (Sandbox Code Playgroud)

ReportHashFile*.pm包含一个包ReportHashFile*.

另外如何根据动态模块名称引用模块内部的数组?

@Array= @$Module1::Array_inside_module;
Run Code Online (Sandbox Code Playgroud)

无论如何我能做到这一点.某种编译器指令?

perl conditional module include

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

如何在bash中做复杂的条件?(混合'和'&&,'或'|| ......)

如何在bash中完成以下内容?

if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
  ...
fi
Run Code Online (Sandbox Code Playgroud)

syntax bash conditional

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

如何在条件中使用bash返回码?

我有一小段代码检查IP地址的有效性:

function valid_ip()
{
    local  ip=$1
    local  stat=1

    if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
        OIFS=$IFS
        IFS='.'
        ip=($ip)
        IFS=$OIFS
        if [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \
            && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]; then
            stat=1
        else
            stat=0
        fi
    fi
    return $stat
}
Run Code Online (Sandbox Code Playgroud)

但我在bash条件中的使用存在问题.我已经尝试了很多技术来测试它的返回值,但是大多数技术都失败了.

if [[ !$(valid_ip $IP) ]]; then

if [[ $(valid_ip IP) -eq 1 ]]; then
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我该怎么办?

编辑

根据你的建议我使用了类似的东西:

  if valid_ip "$IP" ; then
      ... do stuff
  else
      perr "IP: \"$IP\" is not a …
Run Code Online (Sandbox Code Playgroud)

bash shell conditional return-value

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

使用条件在pandas dataframe中生成新列

我有一个像这样的pandas数据框:

   portion  used
0        1   1.0
1        2   0.3
2        3   0.0
3        4   0.8
Run Code Online (Sandbox Code Playgroud)

我想基于used列创建一个新列,所以df看起来像这样:

   portion  used    alert
0        1   1.0     Full
1        2   0.3  Partial
2        3   0.0    Empty
3        4   0.8  Partial
Run Code Online (Sandbox Code Playgroud)
  • alert基于创建新列
  • 如果used1.0,alert应该是Full.
  • 如果used0.0,alert应该是Empty.
  • 否则,alert应该是Partial.

最好的方法是什么?

python conditional calculated-columns pandas

16
推荐指数
4
解决办法
5万
查看次数

我是否需要`if ... else if`语句中的最后一个'else`子句?

if...else if我见过的每个例子都包含一个最终else条款:

if (condition1) {
  doA();
} else if (condition2) {
  doB();
} else if (condition3) {
  doC();
} else {
  noConditionsMet();
}
alwaysDoThis();
Run Code Online (Sandbox Code Playgroud)

我理解这对于嵌套if...else语句来说基本上是语法糖:

if (condition1) {
  doA();
} else {
  if (condition2) {
    doB();
  } else {
    if (condition3) {
      doC();
    } else {
      noConditionsMet();
    }
  }
}
alwaysDoThis();
Run Code Online (Sandbox Code Playgroud)

我从来没有见过的任何例子if...else if省略了最后else条款.但是看到简单的if语句(没有else子句)是有效的,并且通过上面的等效"嵌套语句",我的直觉告诉我这样做是可以的:

if (condition1) {
  doA();
} else if (condition2) {
  doB();
} else …
Run Code Online (Sandbox Code Playgroud)

javascript conditional if-statement

16
推荐指数
3
解决办法
3万
查看次数

Java中的SQL IN条件

我有多个条件要检查,如下所示,

if(pouch.getStatus().equals("Finalized") || pouch.getStatus().equals("Ready") 
  || pouch.getStatus().equals("Checkout") || pouch.getStatus().equals("Confirmed")
  || pouch.getStatus().equals("Book") || pouch.getStatus().equals("Started")
  || pouch.getStatus().equals("Inital") || pouch.getStatus().equals("Close")) {
        // Body
}
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的方法来检查类似SQL IN条件的上述条件,以便代码看起来更简单?

java collections conditional hashset where-in

16
推荐指数
4
解决办法
487
查看次数

函数中的PostgreSQL CASE用法

我们不能CASE在SQL SELECT语句之外使用条件吗?

例如:

CASE 
  WHEN old.applies_to = 'admin' THEN _applies_to = 'My Self'
  ELSE _applies_to = initcap(old.applies_to)
END
 _summary = _summary || '<li>Apply To: ' || _applies_to || '</li>';
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ERROR:  syntax error at or near "_summary"
LINE 86: _summary = _summary || '<li>Apply To: ' || _applies ...
Run Code Online (Sandbox Code Playgroud)

postgresql conditional case plpgsql

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

TSQL计数'Where'条件

如何实现以下psuedo-SQL语句的"含义":

COUNT(distinct id where attribute1 > 0)
Run Code Online (Sandbox Code Playgroud)

换句话说,我如何制作有条件的,不同的计数陈述?

谢谢!

t-sql conditional count distinct

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

Dart null/false/empty checking:如何写这个更短?

这是我的代码,对于除了空字符串,null和false之外的所有内容都是true:

if (routeinfo["no_route"] == "" || routeinfo["no_route"] == null || routeinfo["no_route"] == false) {
    // do sth ...
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码,对于除了空字符串,null,false或零之外的所有内容都是true:

if (routeinfo["no_route"] == "" || routeinfo["no_route"] == null || routeinfo["no_route"] == false || routeinfo["no_route"] == 0) {
    // do sth...
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在Dart写这个更短的?还是不可能?

conditional if-statement dart

15
推荐指数
6
解决办法
9461
查看次数