-- 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. js---JSONP原理及使用

    极简解释: 利用<script>标签没有跨域限制的“漏洞”(历史遗迹啊)来达到与第三方通讯的目的.当需要通讯时,本站脚本创建一个<script>元素,地址指向第三方的API网址 ...

  2. Python Cdn平台文件md5验证

    第一步 先用脚本实现基本的md5验证 1.python如何实现文件的下载 方法一: 使用 urllib 模块提供的 urlretrieve() 函数.urlretrieve() 方法直接将远程数据下载 ...

  3. 缓存淘汰算法之LRU实现

    Java中最简单的LRU算法实现,就是利用 LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可 如果你去看LinkedHashMap的源码可知,LR ...

  4. C语言总结(5)

    一.函数的定义: 函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数.例如:scanf(),printf()为库函数,cylinder(),fact()为自定义函数. 函数定义的一般形式: ...

  5. Python Excel导入数据库

    import xlrd import MySQLdb def inMySQL(file_name): wb = xlrd.open_workbook(file_name) sh = wb.sheet_ ...

  6. 【Luogu】P3157动态逆序对(树状数组套主席树)

    题目链接 md第一道在NOILinux 下用vim做的紫题.由于我对这个操作系统不是很熟悉,似乎有什么地方搞错了,md调死.(我还打了两遍代码,调了两个小时) 但是这道题并不难,就是树状数组套上主席树 ...

  7. ubuntu安装mysql<服务器>

    服务器 阿里云服务器Ubuntu安装mysql 2014-08-22 21:52 |  coding云 |  7315次阅读 | 11条评论   这里首先吐槽一下阿里云,我作为公司的唯一懂服务器架设的 ...

  8. Agile工作方法

    [工具] Slack https://slack.com/ 看板 https://trello.com/ 其他TBC

  9. [中山市选]杀人游戏 (Tarjan缩点)

    题目链接 Solution 可以考虑到如果知道环内一点的身份,如果凶手在其中就查出来了,同时不会有危险. 那么对警察造成威胁的就是那些身份不明且不能从其他点转移过来的点. 那么大部答案就是缩完点之后入 ...

  10. 排列计数(bzoj 4517)

    Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...