开始Lua脚本
我正处于一个我被迫学习Lua的阶段,所以你对我如何做这件事有什么建议吗?我对PHP以外的其他脚本语言没有太多的经验。开始Lua脚本
那么,关于“开局Lua”的一些建议 - 页面?
编辑
作为除了精彩的教程页面,你可以请提出“程序”我可以做,这将有助于我学习的Lua?想象一下,我想要学习C++中的指针,我会创建一个链表。我想在Lua中触及基础知识,但同时要向相当先进的东西开放。
首先通过Programming in Lua工作,它应该花你一两天才能得到Lua的要点。
但是我可以马上通过忽略协程和metatables告诉你,它们非常强大,但需要一段时间才能掌握。首先学习语法,确定范围(与PHP幸运地相同)和标准库。
之后,回到协程和metatables,阅读他们尝试他们,并通过你第三次可能会得到它。除非你有一个非常好的CS背景,这些是复杂的主题
编辑:这本书是免费的在线==网站。除此之外,它是Lua中最好的教程,每个人都会学习Lua。
另外:如果你的目的是Lua的魔兽世界(可能不是,但以防万一),你可以检查出this tutorial
和:这里是一个tips and tricks线程在计算器上,可能会帮助给你什么,从Lua期望
推荐节目/练习一些想法:
既然你最初看的Lua对于Web开发尝试了解并改进PIL中的Data Description示例。它会给你一些好的想法和一个很好的感觉力量或Lua。
然后你可能想尝试玩Data Structures这个章节,尽管Lua有一个复杂的数据类型,表格,该章节将向你展示类似Lua的方式来创建一个你需要的表格。
最后,一旦你开始讨论metatables,你应该设计一个类系统(是的,你可以决定你的类系统是如何工作的)。我敢肯定每个知道Lua的人都已经制作了十几个课程系统,让你在课堂系统上开始的一个很好的篇章是Object-Oriented Programming
如果你有时间并且知道C或类似的东西(包括C#和Java)尝试扩展与Lua的应用程序,但这将需要一两个星期做
你可以安装魔兽世界并为其制作一个mod(它使用Lua)。其实这可能是一个坏主意。
也许尝试到Lua集成到.NET应用程序(假设你是一个C#程序员),并做一些 '有趣' 吧:
或者只是浏览lua.org
还有一大批与Lua有关的项目,其地址为LuaForge。
如果您碰巧使用Windows作为您的日常平台,那么我建议您将Lua for Windows包作为一个很好的起点。它包含大量有用的模块,全部预先构建并与Lua解释器一起安装。
在您第一次通过PiL和reference manual后,您需要阅读Lua Programming Gems,该文件目前仅在纸质版中可用。
<plug>
不要考虑通过关联链接Lua's books page或LuaForge购买书籍来支持这些项目。 </plug>
编辑:至于编程项目中Lua是适合,寻找其中table
提供杠杆作用问题的想法。表是Lua的核心,因为即使全局变量只是表中的字段。除nil
之外的表可以通过任何数据类型的值进行索引,但如果用作数组,则具有特别高效的实现。
让一个来自类似C的背景的人感到尴尬的是,Lua中的所有东西都是从1开始自然索引的。字符串从1开始索引,数组从1开始等。不要担心很多,使用a[0]
没有任何问题,但是#a
给出的数组长度的定义是假设数组以a[1]
开头。
另一个怪癖是函数并没有真正的名字。它们是通常存储在某个具有名称的变量中的第一类值。语法糖使它看起来像有名字,但这只是一种方便。
表格(以及其他类型,但这是一个非常高级的主题)中的元素特别是Lua-ish特性,它们是Lua中大部分用于执行面向对象事物的基础。
闭合和真正的尾部调用是Lua的其他功能,这些功能在小脚本语言中不常见,这些功能确实可以使一些习惯用语易于实现。
很高兴看到所有这些精心制作的清单(尽管它们当然是正确的)。早在2002年,我就阅读了Lua参考手册的前20+页,并开始使用它。这真的是是那简单。 Lua(和ANSI C)是几种真正适合你思想的语言 - 并留在那里。对于其他人,至少我需要不断地进行一些再学习。
请注意,在Lua认为认为需要时间。我认为我的时间是6个月左右。当来自C/C++时,我们倾向于以某种方式解决问题。 Lua可能会提供更好的手段(即通过使用表格),但需要一段时间才能开始查看。这种向更高抽象层次的转变类似于20世纪80年代的汇编 - > C转变。许多人仍然用C语言编写代码,好像它只是一个便携式汇编程序。
我写了一个简短的quick-start guide to Lua供在我正在研究的项目中使用它的人使用。 如果您熟悉其他脚本语言,它可能会让您快速启动并运行。 docs on Lua.org非常好,应该涵盖大部分你需要的一切。 Lua是一个非常小的语言,可以很快学会。
这是一个非常普遍的建议,但是如果您想以软件工程师的身份开始使用新的编程语言,那么开始使用新编程语言在Project Euler处发现问题很有趣。我最近一直在用Python做这件事,发现它很鼓舞人心,并且给编码带来了很大的热情。
一个小点:Lua的名字不是缩写。它被正确拼写成“Lua”或偶尔是“lua”,但从来没有“LUA”。有关整个故事,请参阅http://www.lua.org/about.html。 – RBerteig 2009-02-24 10:23:13
只是做了相同的评论。 :P这往往是第一个迹象表明谁来Lua。你不是一个人。 – akauppi 2009-02-24 12:03:55
Lua不是许可证用户协议。 ;) – 2009-02-24 12:45:34