吹泡泡的小鱼的个人空间 https://blog.eetop.cn/layoutart [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Flow of Control of SKILL Language

热度 1已有 1544 次阅读| 2019-10-29 16:56 |个人分类:SKILL|系统分类:芯片设计| SKILL

SKILL Language 的运算符和语句:
关系运算符(Relational Operators): <, <=, >, >=, ==, !=
逻辑运算符(Logical Operators): !, &&(and), ||(or)
判断语句(Branching): if, when, unless
             (Multi-way Branching): case
循环语句(Iteration): for, foreach
Relational Operators
关系操作符和C语言基本差不多主要是用于判断,但是要注意Skill的关系操作符返回值是t或者nil。
图片待定
Logical Operators
使用以下操作符比较数据值。如果数据类型不合适,SKILL将生成错误。这些操作符都返回t或nil。
图片待定
逻辑操作符主要是用于完成“与”和“或”运算,返回值可以使数值、或者t或者nil。
!注:SKILL中只有nil 是假(FALSE),其余的任何值都是真(TRUE)。
and/or逻辑操作只有在需要计算第二个表达式时,才计算第二个表表达式:
&&操作:当第一个表达时为假时,不计算第二个表达式。
                当第一个表达式为真时,计算第二个表达式
|| 操作:当第一个表达时为假时,计算第二个表达式。
               当第一个表达式为真时,不计算第二个表达式
其返回的结果是最后一个计算的表达式,因此and/or逻辑操作可以代替繁琐的if / when控制语句。
(!注:此处是不是就与c语言不同了,对比着学习不但可以巩固c,还可以提高skill)


Branching
使用if函数有选择地对一组或多组表达式求值。if表达式中的条件计算为nil或非nil。if表达式的返回值是最后计算的值。
shapeType = "rect"
if( shapeType == "rect"
      then
            println( "Shape is a rectangle" )
            ++rectCount
      else
            println( "Shape is not a rectangle" )
            ++miscCount
      )

SKILL在执行过程中执行大部分的错误检查。涉及if表达式的错误消息可能是模糊的,一定要注意:
注意括号的位置:if(…then…else…)
避免在if关键字之后立即出现空白。

在符合逻辑的情况下使用then和else。
当您不小心在if关键字后放置空白时,请考虑错误消息:
shapeType = "rect"
if ( shapeType == "rect"
      then
            println( "Shape is a rectangle" )
            ++rectCount
      else
            println( "Shape is not a rectangle" )
            ++miscCount
      )
Message: *Error* if: too few arguments (at least 2 expected, 1 given)…
当您不小心删除then关键字,但是包含了else关键字,并且条件返回nil时,请考虑错误消息:
shapeType = "label"
if( shapeType == "rect"
            println( "Shape is a rectangle" )
            ++rectCount
      else
            println( "Shape is not a rectangle" )
            ++miscCount
      )
Message: *Error* if: too many arguments …



Multi-way Branching

Iteration
1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 6

    关注
  • 82

    粉丝
  • 29

    好友
  • 94

    获赞
  • 45

    评论
  • 11184

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 20:38 , Processed in 0.014828 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部