标签: conditional-statements

案例标签的顺序对switch语句的效率有多大影响?

考虑:

if (condition1)
{
    // Code block 1
}
else
{
    // Code block 2
}
Run Code Online (Sandbox Code Playgroud)

如果我知道这condition1将是true大部分时间,那么我应该将逻辑编写为编写,而不是:

if (!condition1)
{
    // Code block 2
}
else
{
    // Code block 1
}
Run Code Online (Sandbox Code Playgroud)

因为我将避免对jump第二个代码块的惩罚(注意:我对汇编语言的了解有限).这个想法是否继续switch发表声明和case标签?

switch (myCaseValue)
{
    case Case1:
        // Code block 1
        break;

    case Case2:
        // Code block 2
        break;

    // etc.
}
Run Code Online (Sandbox Code Playgroud)

如果我知道其中一个案例会更频繁发生,我可以重新排列case标签的顺序,以便更有效吗?我是不是该?在我的代码中,我一直在按字母顺序排列案例标签以获得代码可读性,而没有真正考虑它.这是微优化吗?

c c# c++ performance conditional-statements

14
推荐指数
3
解决办法
2029
查看次数

图论中的松弛条件是什么?

我试图理解图论的主要概念及其中的算法.大多数算法似乎包含"放松条件"我不确定这是什么.

请有人向我解释一下.

这方面的一个例子是dijkstras算法,这里是伪代码.

 1  function Dijkstra(Graph, source):
 2      for each vertex v in Graph:           // Initializations
 3          dist[v] := infinity               // Unknown distance function from source to v
 4          previous[v] := undefined          // Previous node in optimal path from source
 5      dist[source] := 0                     // Distance from source to source
 6      Q := the set of all nodes in Graph
    // All nodes in the graph are unoptimized - thus are in Q
 7      while Q is not empty:                 // …
Run Code Online (Sandbox Code Playgroud)

graph-theory graph conditional-statements

14
推荐指数
2
解决办法
7958
查看次数

如果没有大括号的代码块,C#是否支持?

C#如何编译?

if (info == 8)
    info = 4;
otherStuff();
Run Code Online (Sandbox Code Playgroud)

它会包含代码块中的后续行吗?

if (info == 8)
{
    info = 4;
    otherStuff();
}
Run Code Online (Sandbox Code Playgroud)

或者它只需要下一行?

if (info == 8)
{
    info = 4;
}
otherStuff();
Run Code Online (Sandbox Code Playgroud)

c# compilation codeblocks conditional-statements

14
推荐指数
2
解决办法
9919
查看次数

汇编中的复杂IF语句

我应该如何if在汇编中写下这样的陈述?

if ((a == b AND a > c) OR c == b) { ...
Run Code Online (Sandbox Code Playgroud)

平台:Intel 32位机器,NASM语法.

更新

对于变量类型和值,请使用更容易理解的内容.我想,整数对我来说会很好.

x86 assembly conditional-statements

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

高级错误处理

我最近提出了这个问题,幸好有人指出withRestarts()这对我来说看起来非常棒和强大:-)现在我渴望更详细地了解R的错误处理能力.

实际问题

  1. 推荐的用途是simpleCondition()什么?从来没有使用它,但我认为它可能有助于设计实际上是"真实"条件的自定义错误和警告.它可以用于构建特定条件的数据库,具体的处理程序可用吗?
  2. 有没有办法"冻结" 整个 R工作区的某个状态并返回它以在某个点重新开始计算?我知道save.image(),但AFAIU,这不存储搜索路径(search()searchpaths())的"状态" .

对于那些感兴趣

两个代码示例

  1. 我目前使用的插图withRestarts依赖于这篇博文
  2. 试图定义"自定义条件"

我很感激有关做什么更好的任何意见/建议;-)

例1

require("forecast")
autoArimaFailsafe <- function(
    x,
    warning=function(w, ...) {
        message("autoArimaFailsafe> warning:")
        message(w)
        invokeRestart("donothing")},
    error=function(e, ...) {
        message("autoArimaFailsafe> error:")
        message(e)
        invokeRestart("abort")}
) {
    withRestarts(
        out <- tryCatch(
           {
                expr <- expression(auto.arima(x=x))
                return(eval(expr))
           },
           warning=warning,
           error=error 
        ),
        donothing=function(...) {
            return(eval(expr))
        },
        abort=function(...) {
            message("aborting")
            return(NULL)
        }
    )    
}
data(AirPassengers)
autoArimaFailsafe(x=AirPassengers)
autoArimaFailsafe(x="a")
Run Code Online (Sandbox Code Playgroud)

例2

require("forecast")
autoArimaFailsafe <- …
Run Code Online (Sandbox Code Playgroud)

error-handling r conditional-statements application-restart

14
推荐指数
1
解决办法
1851
查看次数

IE条件运算符:OR ...如果大于ie9或不是IE

我想只包含历史记录和ajaxify如果浏览器是ie9或更高,或者不是 ie:

<!--[if gte IE 9]>
    <script type="text/javascript" src="assets/js/plugins/history.js"></script>
    <script type="text/javascript" src="assets/js/plugins/ajaxify.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用OR运算符来说出这个:

<!--[if gte IE 9 | !IE ]> ??

谢谢!

html internet-explorer conditional-operator conditional-statements

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

Bash脚本 - 检查文件是否包含特定行

我需要检查文件是否包含特定行.这个文件是由某人连续写的,所以我把检查放在while循环中.

FILE="/Users/test/my.out"
STRING="MYNAME"
EXIT=1
while [ $EXIT -ne 0 ]; do 
    if [ -f $FILE ] ; then CHECK IF THE "STRING" IS IN THE FILE - IF YES echo "FOUND"; EXIT=0; fi
done
Run Code Online (Sandbox Code Playgroud)

该文件包含文本和多行.

string bash if-statement conditional-statements

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

if-else和switch语句的替代方案

我在Java中有以下代码:

public void doSomething(int i) {
    if (i == 12) {
        // order should be same
        up();
        left();
        stop();
    }
    if (i == 304) {
        // order should be same
        right();
        up();
        stop();
    }
    if (i == 962) {
        // order should be same
        down();
        left();
        up();
        stop();
    }
}
// similar code can be done using switch case statements.
// all the function can have any functionality and might not resemble to the name given to them.
Run Code Online (Sandbox Code Playgroud)

现在,如果我被要求不使用if-else和switch case语句,那么可以做些什么呢?代码可以用Java或JavaScript完成.

javascript java conditional-statements

14
推荐指数
4
解决办法
5825
查看次数

如何仅根据条件通知 Ansible 中的处理程序?

我想通过执行以下操作来通知担任我角色的处理程序:

- name: Notify handler
  notify: my_handler
  when: this_thing_is_true|bool
Run Code Online (Sandbox Code Playgroud)

但 Ansible 只是抱怨:

错误!任务中未检测到模块/操作。

我尝试过各种楔子,例如:

- name: Notify handler
  meta: noop
  notify: my_handler
  when: this_thing_is_true|bool
Run Code Online (Sandbox Code Playgroud)

但同样的抱怨是:

[警告]:有条件时不支持 noop 任务

有什么建议么?

notify conditional-statements ansible

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

Jquery"if this and if that"然后这样做

这应该是如此简单,但它对我不起作用.我想说:

如果这不具有"当前"类并且如果身体类不等于"家",那么这样做....

这是我正在尝试(除其他外)无济于事.只有第一个条件才有效.

$(".nav1 > ul > li").mouseleave(function() {

    if ( (!$(this).hasClass("current")) || (!$(body).hasClass("home"))  ){
         $(this).find(".nav-overlay").show();   
    }

}); 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?谢谢!

更新清晰度:

我只想在满足以下条件时显示".nav-overlay":

  1. 你不在主页(body class ="home")AND
  2. ".nav1> ul> li"类不等于"当前"

jquery conditional-statements

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