Skip to content

Latest commit

 

History

History
43 lines (37 loc) · 2.45 KB

0X14选择结构.md

File metadata and controls

43 lines (37 loc) · 2.45 KB

0X14 选择结构

前置知识

  • 0X10 逻辑运算
  • 0X11 更复杂的函数

正文

  1. 数学中有一类函数称为分段函数。需要判断自变量的区间来确定相应的函数值表达式。为了定义出这类函数,我们引入Lua的选择结构。
  2. 选择结构和函数定义一样是由多个部件组成的,可以分为多行的语句。
  3. 但是,函数定义后,如果不经调用不会立即执行。如果在交互式环境中输入一个选择结构,它会和之前介绍的各种求值表达式、赋值语句或者函数调用一样立即执行。
  4. 选择结构同样由end结尾,但是开头标志是if。
    if end
  5. if后接括号,里边填写要判断的条件。这个条件是一个逻辑值、返回逻辑值的表达式或者存储了逻辑值的变量。根据这个值的真假,if语句将从其两个分支中选择一个执行,跳过另一个。这里判断变量x是否大于0。(其实括号可以省略,但是我习惯不省略。)
    if(x>0) end
  6. 然后我们该定义两个选择分支了。首先定义当判断条件为真时执行的语句。这需要用到一个新的关键词then,它在if和判断条件之后。(刚刚已经说过,选择结构和函数定义一样可以多行,所以这里我使用了多行写法。)
    if(x>0) then 
       print('x is bigger than 0.')
    end
    如果你已经给x赋予了一个数字值,然后执行这个选择结构,根据x的值不同会有两种不同的结果。如果x大于0,那么输出一行文字,否则什么都不做。
  7. 你当然可以连用两个if语句,分别判断x>0和x<=0,然后编写相应的语句。也可以在一个if中规定好判断条件为假时要执行的分支。这需要用到一个新关键字else。
  8. 注意else必须在then引导的分支之后。没有then,不能用else。
    if(x>0) then
       print('x is bigger than 0.')
    else 
       print('x is less than 0.')
    end
    这个语句在x大于0的时候和第6点中例句一样。在x小于0的时候会输出“x is less than 0.”。
  9. 注意不管是then引导的分支还是else引导的分支。的每个分支中都可以写很多语句。直到遇到与引导用关键字匹配的else,end(或后续介绍的elseif)。
  10. 视频演示: 选择结构 https://www.bilibili.com/video/av14279254/

后续推荐

  • 0X19 分段函数