lua 初接触 --- The first time use Lua for programing
The first time use Lua for programing
Wang Xiao
1. 关于 lua 的变量类型:

lua 变量的定义与matlab有点不同:
local d , f = 5 ,10 --声明局部变量 d,f。
d , f = 5, 10; --声明全局变量 d,f。
d, f = 10 --[[声明全局变量 d,f,其中 f 的值是 nil--]]
如果只是定义没有初始化,则静态存储变量被隐式初始化为 nil。
Lua 赋值时会将第一个值赋给第一个变量,第二个值赋给第二个变量,依次类推。
来一个比较叼的交换语句:
local a,b -- 变量定义
a = 10 b = 30
print("value of a:", a)
print("value of b:", b)
b,a = a,b -- 直接将a and b 对换,有点叼有木有,连中间变量都不需要的。
print("value of a:", a)
print("value of b:", b)
f = 70.0/3.0
print("value of f", f)
2. 两个需要注意的地方:

若想要跳出循环,只要 break 语句即可。
3. 函数的定义:
--[[ function returning the max between two numbers --]]
function max(num1, num2)
if(num1 > num2) then
result = num1;
else
result = num2;
end
return result;
end
-- 调用函数
print("The maximum of the two numbers is", max(10, 4))
print("The maximum of the two numbers is", max(5, 6))
-- 执行结果
The maximum of the two numbers is 10
The maximum of the two numbers is 6

在 Lua 中,使用 ... 作为参数可以创建参数个数可变的函数,即: 变参函数。

4. 字符串
string1 = "Lua"
print("\"String 1 is\"", string1)
string2 = 'Tutorial'
print("String 2 is", string2)
string3 = [[ "Lua Tutorial" ]]
print("String 3 is", string3)
-- the output results
"String 1" is Lua
String 2 is Tutorial
String 3 is "Lua Tutorial"


-- the output are:
Basic formating Lua Tutorial
Date formating 02/01/2014
0.3333
5. 数组:

Lua 的索引是从1开始的。
多维数组:

array = {"Lua", "Tutorial"}
function elementlterator (collection)
local index = 0
local count = #collection
-- 返回闭包函数
return function
index = index + 1
if index <= count
then
-- 返回迭代器的当前元素
return collection[index]
end
end
end
for element in elementlterator(array)
do
print(element)
end
lua 初接触 --- The first time use Lua for programing的更多相关文章
- lua 学习 (一 )Mac搭建lua环境和ide
今天开始学习lua 首先是搭建环境 和 我的hello world 首先 交代一下我用的是 Mac 系统 所以在Mac上安装lua 环境很方便的 lua Mointain Lion - Lua 5 ...
- 初接触BurpLoader工具
初接触burp工具 菜鸟一枚,现在在接触一段时间测试,我在测试功能性的时候,想着网站被黑案例那么多,我是不是也应该弄弄安全性测试了,所以就有了下边的第一次接触BurpLoader工具来测试手机的app ...
- 软工实践练习-Git初接触
第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...
- vi初接触
vi初接触 它有三种模式: 一 一般模式 二 编辑模式 三 命令行模式 介绍几种比较常用的吧 -- 退出:q 写入:w 强制:! (以上可叠加) 显示行号:set nu 取消:set nonu 跳转到 ...
- Lua学习笔记6:C++和Lua的相互调用
曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有. 新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项 ...
- ExtJS初接触 —— 了解 Ext Core
ExtJS初接触 —— 了解 Ext Core Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS ...
- ExtJS初接触 - 在项目中使用ExtJS
ExtJS初接触 - 在项目中使用ExtJS 今天ExtJS官网发布了ExtJS最新正式版4.2.1.Ext JS 4.2.1 正式版 下载 ExtJS为开发者在开发富客户的B/S应用中提供丰富的UI ...
- Java之路——Java初接触
本文大纲 1.Java是什么 2.Java历史 3.Java技术范围 3.1 Java SE平台技术范围 3.2 Java EE技术范围 3.3 Java 体系技术范围 4.总结 1.Java是什么 ...
- 用好lua+unity,让性能飞起来——lua与c#交互篇
前言 在看了uwa之前发布的<Unity项目常见Lua解决方案性能比较>,决定动手写一篇关于lua+unity方案的性能优化文. 整合lua是目前最强大的unity热更新方案,毕竟这是唯一 ...
随机推荐
- SharePoint表单和工作流 - Nintex篇(六)
博客地址 http://blog.csdn.net/foxdave 接上篇点击打开链接 在工作流Action的配置对话框中,点击"Edit with Nintex Forms",上 ...
- 修改Azure Website 移动服务 默认时区
Azure Website 默认时区为国际标准时间,对中国用户来说不太方便友好,如何设置成北京时间呢? 打开Azure Website的“配置”页,找到“应用设置”节点. 在应用设置中添加设置项,密钥 ...
- 设置navigation baritem方法
UIButton *RightBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect]; [RightBtn setImage:[UIImage im ...
- STL 源码分析《1》---- list 归并排序的 迭代版本, 神奇的 STL list sort
最近在看 侯捷的 STL源码分析,发现了以下的这个list 排序算法,乍眼看去,实在难以看出它是归并排序. 平常大家写归并排序,通常写的是 递归版本..为了效率的考虑,STL库 给出了如下的 归并排序 ...
- GCC,GDB,Makefile和IO复用函数
2015.1.22 c高级的环境搭建:GCC编译器:全称 GNU CC,是GNU工具(tool chain)的一种,源码编译成机器码,gcc的编译依赖于很多小工具4.3.3和3.4.3版本的比较稳定 ...
- CRM客户关系管理系统修改(十四)
修改的流程:
- lower_bound和upper_bound算法
参考:http://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.html ForwardIter lower_bound(ForwardIte ...
- Inno Setup 安装、卸载前检测进程或服务
[转载]Inno Setup 安装.卸载前检测进程或服务 (2015-04-24 17:37:20) 转载▼ 标签: 转载 原文地址:Inno Setup 安装.卸载前检测进程或服务作者:一去丶二 ...
- dat文件中如何编写DOS的多行命令
dat文件中如何编写DOS的多行命令 2012-10-15 11:29 四海柔情108 分享到: 2012-10-16 23:36 提问者采纳 你问的应该是BAT文件吧?BAT是DOS命令的批 ...
- 去除reads中的pcr 重复,fastquniq
改编: python ~/tools2assemble/run_fastuniq.py SHT-3K-1_1.fq.gz SHT-3K-1_2.fq.gz 好像不支持gz文件,要先解压 http:// ...