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的更多相关文章

  1. lua 学习 (一 )Mac搭建lua环境和ide

    今天开始学习lua  首先是搭建环境 和 我的hello world 首先 交代一下我用的是 Mac 系统 所以在Mac上安装lua 环境很方便的 lua  Mointain Lion - Lua 5 ...

  2. 初接触BurpLoader工具

    初接触burp工具 菜鸟一枚,现在在接触一段时间测试,我在测试功能性的时候,想着网站被黑案例那么多,我是不是也应该弄弄安全性测试了,所以就有了下边的第一次接触BurpLoader工具来测试手机的app ...

  3. 软工实践练习-Git初接触

    第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...

  4. vi初接触

    vi初接触 它有三种模式: 一 一般模式 二 编辑模式 三 命令行模式 介绍几种比较常用的吧 -- 退出:q 写入:w 强制:! (以上可叠加) 显示行号:set nu 取消:set nonu 跳转到 ...

  5. Lua学习笔记6:C++和Lua的相互调用

        曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有.     新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项 ...

  6. ExtJS初接触 —— 了解 Ext Core

    ExtJS初接触 —— 了解 Ext Core Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS ...

  7. ExtJS初接触 - 在项目中使用ExtJS

    ExtJS初接触 - 在项目中使用ExtJS 今天ExtJS官网发布了ExtJS最新正式版4.2.1.Ext JS 4.2.1 正式版 下载 ExtJS为开发者在开发富客户的B/S应用中提供丰富的UI ...

  8. Java之路——Java初接触

    本文大纲 1.Java是什么 2.Java历史 3.Java技术范围 3.1 Java SE平台技术范围 3.2 Java EE技术范围 3.3 Java 体系技术范围 4.总结 1.Java是什么 ...

  9. 用好lua+unity,让性能飞起来——lua与c#交互篇

    前言 在看了uwa之前发布的<Unity项目常见Lua解决方案性能比较>,决定动手写一篇关于lua+unity方案的性能优化文. 整合lua是目前最强大的unity热更新方案,毕竟这是唯一 ...

随机推荐

  1. javascript预解析和作用域

    JavaScript解析过程分为两个阶段: 一是:编译阶段.就是JavaScrip预解析阶段,在这个阶段JavaScript解析器将完成把JavaScript脚本代码转换到字节码; 二是:执行阶段.在 ...

  2. 微软TechEd2013大会门票热卖!

    微软TechEd2013大会将在北京.上海两地隆重举行! 会议时间安排如下: 北京:12月5日—6日  国家会议中心 上海:12月11日—12日  国际会议中心 现在是门票热卖时期,票价:2688.0 ...

  3. 《java作业》

    /* 2.编写一个类,该类有一个方法public int f(int a,int b), 该方法返回a和b的最大公约数.然后再编写一个该类的子类, 要求子类重写方法f,而且重写的方法将返回a和b的最小 ...

  4. Python学习路程day4

    迭代器&生成器 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. ...

  5. hdu 2089

    PS:额...暴力打表...今天学到的新名词..记得把数组开到100W.. 代码: #include "stdio.h" ]; int cal(int a); int main() ...

  6. php大力力 [010节]PHP常量

    2015-08-23 php大力力010. PHP常量 php大力力 [010节]PHP常量 设置 PHP 常量 如需设置常量,请使用 define() 函数 - 它使用三个参数: 首个参数定义常量的 ...

  7. 学习php前需要了解的知识

    1.静态网站与动态网站 A)静态网站: 不支持数据交互的网站(后缀:   .html  .htm) B)动态网站: 支持数据交互的网站,动态网站可以放静态网页的 i.实现动态网站的技术 1.Asp   ...

  8. iOS:死锁

    死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进. 安全状态与不安全状态:安全状态指系统能按某个进程顺序来为每个进程分配其所需资源,直至最大需求,使每个进程 ...

  9. 第一次div1做出3道题

    第一次div1做出3道题! 再接再厉! 哈利路亚!

  10. 第二个sprint第一天

    一.例会人员:李泳江,邵家文,周伟雄,谢洪跃 日期:6月1号   例会内容: 1.用户调研,修复bug,要对初期的版本的bug进行解决,以便能够在6月3号演示. 2.整个第二个sprint 我们队伍要 ...