Lua认为false和nil为假,true和非nil为真。

要注意的是Lua中 0 为 true

--[  为 true ]
if()
then
print("0 为 true")
end

输出

 为 true

实例

--[ 定义变量 --]
a = --[ 使用 if 语句 --]
if( a < )
then
--[ if 条件为 true 时打印以下信息 --]
print("a 小于 20" )
end
print("a 的值为:"..a)

输出

a 小于
a 的值为:

实例

--[ 定义变量 --]
a = --[ 使用 if 语句 --]
if( a < )
then
--[ if 条件为 true 时打印以下信息 --]
print("a 小于 20" )
end
print("a 的值为:", a)

输出

a 小于
a 的值为:

if...else 语句

实例

--[ 定义变量 --]
a = ;
--[ 检查条件 --]
if( a < )
then
--[ if 条件为 true 时执行该语句块 --]
print("a 小于 20" )
else
--[ if 条件为 false 时执行该语句块 --]
print("a 大于 20" )
end
print("a 的值为 :", a)

输出

a 大于
a 的值为 :

if...elseif...else 语句

语法格式

if( 布尔表达式 )
then
--[ 在布尔表达式 为 true 时执行该语句块 --] elseif( 布尔表达式 )
then
--[ 在布尔表达式 为 true 时执行该语句块 --] elseif( 布尔表达式 )
then
--[ 在布尔表达式 为 true 时执行该语句块 --]
else
--[ 如果以上布尔表达式都不为 true 则执行该语句块 --]
end

实例

--[ 定义变量 --]
a = --[ 检查布尔条件 --]
if( a == )
then
--[ 如果条件为 true 打印以下信息 --]
print("a 的值为 10" )
elseif( a == )
then
--[ if else if 条件为 true 时打印以下信息 --]
print("a 的值为 20" )
elseif( a == )
then
--[ if else if condition 条件为 true 时打印以下信息 --]
print("a 的值为 30" )
else
--[ 以上条件语句没有一个为 true 时打印以下信息 --]
print("没有匹配 a 的值" )
end
print("a 的真实值为: ", a )

输出

没有匹配 a 的值
a 的真实值为:

Lua if 嵌套语句

Lua if 嵌套语句语法格式

if( 布尔表达式 )
then
--[ 布尔表达式 为 true 时执行该语句块 --]
if(布尔表达式 )
then
--[ 布尔表达式 为 true 时执行该语句块 --]
end
end

实例

--[ 定义变量 --]
a =
b = --[ 检查条件 --]
if( a == )
then
--[ if 条件为 true 时执行以下 if 条件判断 --]
if( b == )
then
--[ if 条件为 true 时执行该语句块 --]
print("a 的值为 100 ,b 的值为 200" )
end
end
print("a 的值为 :", a )
print("b 的值为 :", b )

输出

a 的值为  ,b 的值为
a 的值为 :
b 的值为 :

lua if 流程控制的更多相关文章

  1. lua 5 流程控制 if

    条件判断中,0 表示 true,只有 nil 才是 false if(0) then -- 可以没有括号 print("0 为 true") elseif 1 then print ...

  2. Lua的五种变量类型、局部变量、全局变量、lua运算符、流程控制if语句_学习笔记02

    Lua的五种变量类型.局部变量.全局变量 .lua运算符 .流程控制if语句 Lua代码的注释方式: --当行注释 --[[    多行注释    ]]-- Lua的5种变量类型: 1.null 表示 ...

  3. Lua学习笔记(2): 流程控制与循环以及初涉迭代器

    条件判断语句 --if...语句 if (表达式) then --表达式为1时执行的语句 end --if...else语句 if (表达式) then --表达式为1时执行的语句 else --表达 ...

  4. Lua学习六----------Lua流程控制

    © 版权声明:本文为博主原创文章,转载请注明出处 Lua流程控制 - 通过程序设定一个或多个条件语句 - 在条件为true时执行指定程序代码,在条件为false时指定其他指定程序代码 - 控制结构语句 ...

  5. node中的流程控制中,co,thunkify为什么return callback()可以做到流程控制?

    前言 我在学习generator ,yield ,co,thunkify的时候,有许多费解的地方,经过了许多的实践,也慢慢学会用,慢慢的理解,前一阵子有个其他项目的同事过来我们项目组学习node,发现 ...

  6. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  7. Lua基础---流程控制语句

    Lua提供了if语句和if else语句作为流程控制语句,当然,符合C的特点,流程语句之间可以实现嵌套操作,当然流程控制也可以和循环体结合进行控制. 1.if语句 if(布尔表达式) then --[ ...

  8. 第10章 Shell编程(4)_流程控制

    5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...

  9. Shell命令和流程控制

    Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...

随机推荐

  1. Eclipse常用快捷键 及 不格式化注释

    eclipse不格式化注释 - [自写] 2007-08-15   刚才在Eclipse3.2上写东西,我写好的注释,整整齐齐的,我一格式化代码,就变得七七八八的了.   试着在Perferences ...

  2. 百度移动开发平台在用angularJS

  3. 微信小程序 --- 缓存数据

    保存数据  /  读取数据  /  删除数据  /  数据异步操作 每一个微信小程序都可以有自己的本地缓存,可以通过wx.setStorage( wx.setStorageSync) ,wx.getS ...

  4. 华硕蓝光刻录机在MAC系统里能用吗?

    答案是刻录功能不能用(没有驱动),但可以当外置光驱用.需要注意的是单单把刻录机插到MAC电脑上是没有反应的,放入光盘后Finder里会出现一个可移动设备.

  5. 170504、MongoDB和MySQL对比(译)

    一.概要 几十年来,关系型数据库已经成为企业应用程序的基础,自从MySQL在1995年发布以来,它已经成为一种受欢迎并且廉价的选择.然而随着近年来数据量和数据的不断激增,非关系数据库技术如MongoD ...

  6. c# 公共方法

    MyMeans using System; using System.Collections.Generic; using System.Text; using System.Windows.Form ...

  7. Database Partitioning Options DATABASE SHARDING

    w主写从读.集群节点间时时内存复制.单表横切纵切.分析报表系统通过服务器联表 http://www.agildata.com/database-sharding/ Database Partition ...

  8. AJAX.basic

    之前在项目中使用ajax都是通过jQuery的Ajax API来进行的,今天试了一下通过基本的JavaScript来进行ajax请求,将代码记录下来: jsp 页面 <%@ page pageE ...

  9. day12(jsp指令&内置对象&动作标签、JavaBean、EL表达式&函数库)

    day12 JSP指令 JSP指令概述 JSP指令的格式:<%@指令名 attr1="" attr2="" %>,一般都会把JSP指令放到JSP文件 ...

  10. T-SQL练习题

    转自:http://www.cnblogs.com/jenrrychen/p/5348546.html 1 - 3 题: 数据表结构: OrderID ProductID OrderDate  Sal ...