Lua的五种变量类型、局部变量、全局变量 、lua运算符 、流程控制if语句

  • Lua代码的注释方式:

--当行注释

--[[    多行注释    ]]--

  • Lua的5种变量类型:

  1.null 表示空数据 等同于null
  2.boolean 布尔类型 存储true 和false
  3.String 字符串类型,字符串可以用双引号也可以用单引号表示
  4.number小数类型(lua中没有整数类型?
  5.table类型
    myTable = {34.31.30}
    myTable[3]                                              注意 Lua中的索引是从1开始的。
  可以用type()来取得一个变量的类型

  • 全局变量和局部变量

  默认定义的变量都为全局变量,定义局部变量需要在前面加一个local 。

  在代码块中声明的为局部变量,当代码块运行结束的时候,这个变量则会被释放

  • lua中运算符

  1.算术运算符+-*/%(lua中没++ -- 这样的运算符)

  2.关系运算符 <= < > >= ==

  3.逻辑运算符  and or not  分别表示与 或 非  (类似于C#中的 &&  || !)

     -- and 运算符的使用 (下面为特殊的用法)

    -- 如果第一个表达式为 true ,而 第二个表达式的运算结果是一个非布尔的值,则输出这个值
    print(26<27 and 3)   --3
    print(true and 4)    --4

   -- or 运算符的使用 (下面为特殊的用法)

    --如果第一个表达式为false ,而第二个表达式的运算结果是一个非布尔型的值,则输出这个值
    print(1>2 or 5)    --5

   -- 非 not     在lua中所有不是 false 和 nil 的值都代表 true
   -- 连接  ..  (用于连接两个字符串 )       eg: print(“521”.."1234") -- 5211234

  • Lua的流程控制if语句

  1.if 表达式  then

    语句块

   end

  2.if 表达式  then

    语句块

    else

    语句块

    end

  3.if 表达式 then

    语句块

  elseif  表达式  then

    语句块

  else

    语句块

   end

下面是 if  例子

-- 一个数 90-100 优秀  70-90 良好  60-70 及格   小于60大于100  不及格
local mathaa =
if <=mathaa and mathaa<= then
print ("优秀")
elseif <= mathaa and mathaa <= then
print("良好")
elseif <=mathaa and mathaa<= then
print("及格")
else
print("不及格")
end
--*********************************************************************************************
--写一个脚本 判断一个数是否为大于100的偶数
local shu =
if shu % == and shu > then
print("此数为一个偶数")
else
print("此数不是一个偶数")
end
--**********************************************************************************************
--写一个脚本判断两个数是否 都为 小于或等于 200的奇数 (不能被2整除的数)
local a ,b = ,
if a%== and a<= and b<= and b%== then
print ("ab 两个数都为小于等于200的奇数")
elseif a%== and a<= then
print ("a为小于等于200的奇数")
elseif b<= and b%== then
print ("B为小于等于200的奇数")
else
print ("ab 两个数都不是小于等于200的奇数")
end

Lua的五种变量类型、局部变量、全局变量、lua运算符、流程控制if语句_学习笔记02的更多相关文章

  1. 学习ActiveMQ(五):activemq的五种消息类型和三种监听器类型

    一.前面我们一直发送的是字符串类型,其实activemq一共支持五种消息类型: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者:消费者: 1.String消息类型:发送者 ...

  2. spring aop 的五种通知类型

    本文转自:http://blog.csdn.net/cqabl/article/details/46965197 spring aop通知(advice)分成五类: 前置通知[Before advic ...

  3. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

  4. Laravel 5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句

    Laravel5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句 Laravel 的 View 部分是内置了两套输出系统:直接输出和使用 Blade 引擎“编译”后输出,默认情况下它们 ...

  5. JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符

    JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  6. Java语言支持的3种变量类型

    类变量(静态变量):独立于方法之外的变量,用 static 修饰. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. 局部变量:类的方法中的变量. 例子如下: public  ...

  7. 一、JAVA变量类型:②局部变量

    局部变量声明在方法.构造方法或者语句块中: public class Test{ public void pupAge(){ int age = 0; //定义age为方法pupAge中的局部变量,并 ...

  8. IDEA里五种目录类型简介(Mark Directory as)

    通过File  -> Settings-project Structure-Modules 或者右键Mark Directory as可以找到这五种类型. Sources 一般用于标注类似 sr ...

  9. Jedis操作笔记 redis的五种存储类型

    常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 String是最简单的类型,一个key对应一个val ...

随机推荐

  1. 找出二叉查找树中指定结点的”下一个&quot;结点(也即中序后继)

    设计一个算法.找出二叉查找树中指定结点的"下一个"结点(也即中序后继).能够假定每一个结点都含有指向父结点的连接. watermark/2/text/aHR0cDovL2Jsb2c ...

  2. 解决Linux ssh登录马上退出问题

    纠结了非常久,最终找到解决方法: 把sshd_config文件里的UsePAM改成no就能够了

  3. PHP array_diff_key()

    定义和用法 array_diff_key() 函数返回一个数组,该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键. 语法 array_diff_key(array1,array2,ar ...

  4. Oracle 11g OEM登录后提示“出现内部错误”

    使用oem登录时提示:“出现内部错误.有关详细信息, 请查看日志文件”. 具体原因未知,发现使用SQL Plus登录一次之后,再次登录即可.

  5. 使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方式

    本文提供了对c3p0与DBCP连接池连接MySql数据库时. 8小时内无请求自己主动断开连接的解决方式.首先介绍一下我在项目(c3p0连接池)中遇到的问题,后面还提供了使用DBCP连接池的解决方式. ...

  6. 使用oracle数据库和MySQL数据库时hibernate的映射文件.hbm.xml的不同

    假设是使用oracle数据库.那么hibernate的映射文件.hbm.xml例如以下: <id name="xuehao" column="xuehao" ...

  7. Android 下使用opencv

    两种方式: 1.java API 2.Native/C++ 方式,OpenCV.mk中默认使用动态库的方式链接opencv,设置OPENCV_LIB_TYPE:=STATIC 以静态库方式调用 htt ...

  8. spring拦截器和注解处理日志操作

    整体思想:通过拦截器拦截所有的请求,处理含有自定义注解的方法,通过request得到需要的参数. 拦截器代码: package com.zktx.platform.log2; import java. ...

  9. git使用简易指南(转)

    创建新仓库 创建新文件夹,打开,然后执行 git init以创建新的 git 仓库. 检出仓库 执行如下命令以创建一个本地仓库的克隆版本:git clone /path/to/repository 如 ...

  10. 脑洞大开加偏执人格——可持久化treap版的Link Cut Tree

    一直没有点动态树这个科技树,因为听说只能用Splay,用Treap的话多一个log.有一天脑洞大开,想到也许Treap也能从底向上Split.仔细思考了一下,发现翻转标记不好写,再仔细思考了一下,发现 ...