-- test lua: for learning lua grammar

-- line comment
--[[
block comment
]]-- -- print hello world
print('Hello World\n') -- control structure
-- if
if 1+1 == 2 then print('1+1=2') end
if 1+1 == 2 then
print('1+1=2')
elseif 1+1 == 3 then
print('1+1=3')
else
print('1+1=?')
end -- while
local n = 2
while n > 0 do
print('while ' .. n)
n = n - 1
end -- repeat
n = 2
repeat
print('repeat ' .. n)
n = n - 1
until n <= 0 -- for
for i = 1, 2, 1 do
print('for ' .. i)
end -- for array
arr = {1, 2}
for i, v in ipairs(arr) do
print('arr ' .. i .. ' ' .. v)
end -- for table
t = {
name = 'adfan',
age = 20,
[2] = 30,
}
for k, v in pairs(t) do
print('table ' .. k .. ' = ' .. v)
end -- assign
a, b, c, d = 1, 2, 3, 4
print(a, b, c, d)
-- exchange a, b
a, b = b, a
print(a, b) -- math
print(2 ^ 4) -- 2 power 4 = 16 -- compare
print(1 ~= 2) -- not equal -- logic
--[[
Note: only false or nil are false, others are true (0 is alse true!)
a and b: if a is false, return a; else return b (return the first false)
a or b: if a is true, return a; else return b (return the first true)
]]--
print(true and 5) -- 5
print(false and true) -- false
print(true and 5 and 1) -- 1 print(false or 0) -- 0
print(nil or 1) -- 1 print(not nil) -- true
print(not 0) -- false: as 0 is true a, b, c = 1, nil, 3
x = a and b or c -- not means a ? b : c, as when b is false, x equals c..
print(x)
x = x or a -- means if not x then x = v end
print(x) -- opr inc order:
--[[
or
and
< > <= >= ~= ==
..(string plus)
+ -
* / %
not #(get length) -
^
]]-- -- var type
print('type nil ' .. type(nil))
print('type true ' .. type(true))
print('type 1 ' .. type(1))
print('type str ' .. type('adfan'))
print('type table ' .. type({1, 2, 3}))
print('type function ' .. type(function () end))
-- user data -- local means local var, without local means global var
-- table
t = {
10, -- means [1] = 10
[100] = 40,
John = {
age = 27,
gender = male,
},
20 -- means [2] = 20
} -- function
function add(a, b)
return a + b
end function sum(a, b, ...)
c, d = ...
print(...)
print(a, b, c, d)
return 14, 13, 12, 11
end
a, b, c, d = sum(1, 2, 3, 4)
print(a, b, c, d)

lua——基础语法的更多相关文章

  1. Lua基础语法讲解

    Lua 是什么? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学( ...

  2. Lua - 基础语法

    Hello World 交互式编程 Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用: [huey@huey-K42JE lua]$ lua Lua 5.1.4 Copyright ...

  3. (一)lua基础语法

    1.从hellowrold开始 --语法和Python比较类似,直接像Python一样使用print即可 --这里我可以直接写中文,显然被当成了注释.在lua中,两个-表示注释 --[[ 这种形式可以 ...

  4. Nginx详解二十二:Nginx深度学习篇之Lua解释器安装及基础语法

    解释器 Lua:Lua是一个简洁.轻量.可扩展的脚本语言 Nginx+Lua优势充分的结合Nginx的并发处理epoll优势的Lua的轻量实现简单的功能切高并发的场景 安装Lua 1.安装解释器:yu ...

  5. 大体了解Lua的语法

    Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 在Lua中,一切都是变量,除了关键字.请记住这句话. I. 首先是注释 写一个程序,总是少不了注释的. 在Lua中,你可以使用单行注释和多 ...

  6. Lua基础 函数(一)

    转自: http://blog.csdn.net/wzzfeitian/article/details/8653101 在Lua中,函数是对语句和表达式进行抽象的主要方法.既可以用来处理一些特殊的工作 ...

  7. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  8. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  9. Cocos2d-x 脚本语言Lua基本语法

    Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲L ...

随机推荐

  1. Selenium WebDriver-打开3个网址截图,文件夹用年月日命名,图片用当前时分秒命名

    import os import os.path import time from selenium import webdriver urls=["http://www.baidu.com ...

  2. Leetcode24--->Swap Nodes in Pairs(交换单链表中相邻的两个节点)

    题目:给定一个单链表,交换两个相邻的节点,且返回交换之后的头节点 举例: Given 1->2->3->4, you should return the list as 2-> ...

  3. python 学习分享-字典篇

    python字典(Dictionary) dict是无序的 key必须是唯一切不可变的 a={'key1':'value1','key2':'value2'} 字典的增删改查 a['key3']='v ...

  4. 80x86保护模式下IDT和中断调用过程分析

    80x86保护模式下IDT和中断调用过程分析 1.中断描述符表(IDT),将每个异常或中断向量分别与它们的处理过程联系起来.与GDT和LDT类似,IDT也是由8字节长度的描述符组成.IDT空描述符的存 ...

  5. you build it,you run it

    this article is almostly about  a book named Migrating_to_Microservices_Databases, and it's just the ...

  6. Bootstrap-datepicker 用法

    <div class="input-group input-daterange"> <input type="text" id="s ...

  7. iOS开发,最新判断是否是手机号的正则表达式

    最近项目里需要判断是否为手机号并发送验证码的功能,一下是实现方法.不过这个方法还是有些不足,只能判断输入的11位数的号段是否正确,无法判断手机号是否存在.不过勉强可以使用! + (NSString * ...

  8. 【Luogu】P2303Longge的问题(莫比乌斯反演)

    就让我这样的蒟蒻发一个简单易想的题解吧!!! 这题我一开始一看,woc这不是莫比乌斯反演么,推推推,推到杜教筛,输出结果一看不对 emmm回来仔细想想……woc推错了? 然后撕烤半天打了个暴力,A了 ...

  9. 【Luogu】P1903数颜色(带修改莫队)

    题目链接 带修改莫队模板. 加一个变量记录现在是第几次修改,看看当前枚举的询问是第几次修改,改少了就改过去,改多了就改回来. 话说我栈用成队列了能过样例?!!!! 从此深信一句话:样例是出题人精心设计 ...

  10. 【Luogu】P2709小B的询问(莫队算法)

    题目链接 md,1A率等于0. 烦死. 终于搞到一道莫队了qwq. 先对区间分块再按照块编号为第一关键字,右端点为第二关键字排序,然后每次端点移动1乱搞. 然后……就wa了. 然后有很多细节需要注意q ...