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

learn lua the hard way

时间:2015-04-21 11:11:40      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

找到一个学习lua的资源:

Lua Missions

下载:

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


祝大家学习快乐!!





learn lua the hard way

标签:

原文地址:http://blog.csdn.net/coolwaterld/article/details/45167231

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