标签:
找到一个学习lua的资源:下载:
https://github.com/kikito/lua_missions
missions目录为题目,src目录为答案。
如何运行:
cd lua_missions\missions
lua missions.lua
学习的形式
通过填空的形式,学习lua的语法和API。例如:
function test_string_find_a_pattern()
local str = ‘banana‘
local pattern = ‘an‘
local start_pos, end_pos = string.find(str, pattern)
assert_equal(__(2), start_pos)
assert_equal(__(3), end_pos)
end
第一次运行lua missions.lua,查看当前完成进度,会显示:
*** Mission status ***
asserts...........................................[Incomplete]
test_assert: [fail]
Assertion failed: Expected [false] to be [true]
The error happened here:
asserts.lua:3: in function <asserts.lua:2>
这里的error不要紧,正是我们需要填的空,所有的error都改完了就算合格!!
共有以下专题:
‘asserts‘,
‘variables‘,
‘numbers‘,
‘strings‘,
‘patterns‘,
‘control‘,
‘truthiness‘,
‘functions‘,
‘errors‘,
‘load‘,
‘tables‘,
‘tables_and_functions‘,
‘meta‘,
‘indices‘,
‘exercise‘,
‘weak_tables‘
每个专题一个文件,按照missions.lua的引导,注意用文本编辑器修改error完成学习,关键不在改错,请关注每一个例子的名字,名字为这个例子要学习的目的!!
基于lua5.1,有些语法在lua5.3中不适用,例如loadstring 被load代替,unpack被tableunpack代替等,需要注意,否则总是改不对。
其他学习资源:
Programming In Lua(官方文档)
Beginning Lua Programming(比官方文档更细致,有点厚)
http://lua-users.org/wiki/LearningLua
祝大家学习快乐!!
标签:
原文地址:http://blog.csdn.net/coolwaterld/article/details/45167231