2012年1月28日
摘要: 1. 编译dofile() 运行时编译:loadfile()loadstring(string)() 返回一个函数,并执行例: loadstring("print('hello world')")(); 例2:i=100; local i=32; loadstring("print(i)"); ==> 100 // 在全局环境中编译,因此会引用全局的变量调用c代码:package.loadlib(path, functionName)2. 错误处理assert(1 > 2, "erroooooor");er 阅读全文
posted @ 2012-01-28 22:20 leaving 阅读(264) 评论(0) 推荐(0)
摘要: 多重赋值 1)函数是最后一个表达式,则保留函数所有的返回值 2)函数没有返回值或者没有足够多的返回值,则nil补充 3)如果函数不是最后一个表达式,则只保留的第一个返回值返回值函数调用时,使用圆括号,则只返回一个值closure:可以将已有的api重新定义,并进行增强tail recursion:一个函数调用是另一个函数的最后一个动作,如下fib函数,function fib(n, r, c) if n == 0 then return c else return fib(n-1, r+c, r); endendprint(fib2(10, ... 阅读全文
posted @ 2012-01-28 18:15 leaving 阅读(259) 评论(0) 推荐(0)
摘要: 1. 赋值: 多重赋值, 赋值过程中一一对应a, b = x, ya = b, b = y交换变量 x, y = y, x2. 局部变量与块local 定义一个局部变量3. 控制结构if a == b then r = a + belseif a > b then r = a - belse r = a / bendlocal i = 1while a[i] do print(a[i]) i = i + 1endrepeat line = io.read()until line ~= ""for i=1, #a do if a[i] < 0 then ... 阅读全文
posted @ 2012-01-28 17:31 leaving 阅读(178) 评论(0) 推荐(0)
摘要: 1.关系操作符 > < <= >= == ~= == 相等性测试,相等的必要条件:同类型, 特别nil与自身相等 ~= 不相等性测试 只能对数字或者字符串做大小性比较2.逻辑操作符 and 第一个操作数为真,则返回第二个,否则返回第一个 or 第一个操作数为真,则返回第一个,否则返回第二个 not 操作数为假,则返回true,否则返回false 所有逻辑操作符将false和nil视为假,其他全为真3.字符串连接【字符串是不可变的,连接后生成新字符串】 "hello".."world" --> "helloworld 阅读全文
posted @ 2012-01-28 17:02 leaving 阅读(237) 评论(0) 推荐(0)
摘要: Ctrl+E,可以显示最近编辑的文件列表 Shift+Click可以关闭文件 Ctrl+[或]可以跳到大括号的开头结尾 Ctrl+Shift+Backspace可以跳转到上次编辑的地方 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择 Ctrl+N,可以快速打开类 Ctrl+Shift+N,可以快速打开文件 Alt+Q可以看到当前方法的声明 Ctrl+W可以选择单词继而语句继而行继而函数 Alt+F1可以将正在编辑的元素在各个面板中定位 Ctrl+P,可以显示参数信息 Ctrl+Shift+Insert可以选择剪贴板内容并插入 Al 阅读全文
posted @ 2012-01-28 16:20 leaving 阅读(235) 评论(0) 推荐(0)