码迷,mamicode.com
首页 > 其他好文 > 详细

《lua程序设计(第二版)》学习笔记(五)

时间:2014-05-09 16:37:05      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   color   

bubuko.com,布布扣
-- 第 5 章  函数

-- 一种对语句和表达式进行抽象的主要机制
print(os.date());        -- 打印日期  Sun Apr 20 12:44:46 2014
--  一看到sun,感慨广州没有晴天
-- 函数没有参数也要括号
-- 特殊情况:只有一个参数的时候, 并且参数一个string/table构造式,可不写括号
print "Hello world"
-- dofile "chapter03.lua"

-- 冒号操作符:为面向对象式的调用而提供的函数调用操作符
t = {};

-- 先意会一下下面的功能吧少年, 这东西是《lua程序设计第二版》第15章的内容
t.a = 1;
function t:f(a)
    self.a = self.a + a
end

local temp = t;
temp:f(10);
print(temp.a);
t = nil;

-- 5.1 多重返回值(之前提过)

s, e, o = string.find("hello lua users", "lua");
print(s, e, o); -- 7    9     nil

function foo0 () end
function foo1 () return "a" end
function foo2 () return "a", "b" end

-- 书上的代码
-- x, y = foo2();
-- print(x, y);
-- x = foo2()
-- print(x, y);
-- x, y, z = 10, foo2()
-- print(x, y);

-- print(unpack{1, 2, 3});

-- 5.2 变长参数

function add(...)
    local s = 0;
    for i,v in ipairs(...) do
        s = s + v;
    end
    return s;
end

print(add({1, 2, 3}));
-- 5.3 具名实参
-- 参数传递具有“位置性”, 有时候通过名称来制定参数也是很有用的

function realName(option)
    print(option.a, option.b);
end

realName({a = 1, b = 2}) -- 有时候有用,但是这会增加程序员额外的注意力在参数上面
bubuko.com,布布扣

 

《lua程序设计(第二版)》学习笔记(五),布布扣,bubuko.com

《lua程序设计(第二版)》学习笔记(五)

标签:style   blog   class   code   java   color   

原文地址:http://www.cnblogs.com/bibiAndroid/p/3708828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!