zoukankan      html  css  js  c++  java
  • Halcon算子翻译——switch

    名称

    switch - 开始多路分支分段。

    用法

    switch( : : ControlExpression : )

    描述

      switch开始一个允许通过多路分支来控制程序流的分段。 参数ControlExpression结果必须为一个整数值。 这个值决定了跳转到哪个标记。 每个case语句都包含一个整型常量。 如果case语句的整数常量等于参数ControlExpression的计算值,则程序从这儿运行。 另外,一个可选的默认语句可以被定义为一个switch分段中的最后一个跳转标记。 如果没有case常量与计算的ControlExpression值相匹配,则程序跳转到此default标记。

      和编程语言C,C ++和C#一样,case语句也是一个跳转标记,和elseif不同,不是封闭分段的开始,而是在下一个case或default语句前自动跳出。

      为了在运行一个case分支的代码行之后离开switch分段,就像在C或C ++中一样,必须在case分支的末尾插入一个break语句。 break语句可以在switch块的任何地方使用。 程序在endswitch语句后继续执行。 在分支结束时没有break语句,程序执行“落在”下面的case或默认分支语句。

      如果需要在不同的情况下运行相同的语句,即对于多个控制值,具有不同常量表达式的几个case语句可以并排列出。

    参数

    ControlExpression (input_control)   integer → (integer)
      决定了在哪个case标记继续运行程序的整数表达式。

    示例(HDevelop)

    TestStr := ''
    for Index := 1 to 8 by 1
      TestStr := TestStr + '<'
      switch (Index)
      case 1:
        TestStr := TestStr + '1'
        break
      case 2:
        TestStr := TestStr + '2'
        * intentionally fall through to 3
      case 3:
        TestStr := TestStr + '3'
        * intentionally fall through to 4
      case 4:
        TestStr := TestStr + '4'
        break
      case 5:
      case 6:
        * common case branch for 5 and 5
        TestStr := TestStr + '56'
        break
      case 7:
        * continue for loop
        TestStr := TestStr + '7'
        continue
      default:
        TestStr := TestStr + 'd'
        break
      endswitch
      TestStr := TestStr + '>'
    endfor

    结果

    如果条件正确,则switch(作为算子)返回2(H_MSG_TRUE)。 否则,会引发异常并返回错误代码。

    备选算子

    if, elseif, else

    See also

    case, default, endswitch, if

    模块

    Foundation

    HDevelop例程

    switch_case.hdev    Use switch/case statement for a multiway branch

  • 相关阅读:
    CSS+js弹出居中的背景半透明div层
    多服务器Remoting
    【Matlab图像处理】学习笔记:二值图片
    [转]各种颜色相互转换算法的C语言源代码
    [转]Xilinx:ERROR:Xst:2035
    modelsim仿真xilinx IP DCM
    [转]MATLAB out of memory
    [转]解决Xilinx Platform Studio无法打开 设置 环境变量
    【Matlab图像处理】学习笔记:读取16进制RGB文档转为彩色图片
    【Matlab图像处理】学习笔记:提取图片的R,G,B分量
  • 原文地址:https://www.cnblogs.com/xhiong/p/7832145.html
Copyright © 2011-2022 走看看