我正处于一个被迫学习Lua的阶段,你对我如何做到这一点有什么建议吗?除了PHP,我对任何其他脚本语言都没有太多的经验。
那么,关于“先开始Lua"-pages的一些建议呢?
编辑
作为一个额外的精彩教程页,请您建议任何“程序”,我可以做,以帮助我学习卢阿?假设我想学习C++中的指针,我会列出一个链接列表。我想接触卢阿的基础,但同时对相当先进的东西开放。
发布于 2009-02-24 09:27:23
首先,通过用Lua编写程序你的工作方式,它应该需要你一两天得到的精神卢阿。
不过,我可以马上告诉你,你第一次通过忽略协同和元数据,他们是非常强大的,但需要一段时间来掌握。首先学习语法、作用域(对您来说与PHP相同)和标准库。
之后,回到协同和元数据,阅读它们,第三次,您可能会得到它。除非你有一个很好的CS背景,否则这些都是复杂的话题。
编辑:这本书是免费的在线==网站。另外,这是关于Lua的最好的教程,每个人都用它来学习Lua。
还:如果你的目标是魔兽世界的Lua (可能不是,但以防万一),你可以查看本教程
和:这里是关于StackOverflow的窍门和窍门线程,可能会帮助您了解Lua的一些期望。
建议的程序/练习:
由于您最初关注的是Lua的web开发,所以请尝试理解并改进PIL中的数据描述示例。它会给你一些好的想法和一个很好的感觉,权力或卢阿。
然后,您可能想尝试使用数据结构章节,尽管Lua有一个单一的复杂数据类型,即表,该章将向您展示类似Lua的方法来使表做您需要的任何事情。
最后,一旦您开始摸索元对象,您应该设计一个类系统(是的,用Lua来决定您的类系统如何工作)。我相信每个知道Lua的人都做了十几个类系统,面向对象程序设计是一个很好的开始学习类系统的章节。
如果你有时间了解C或类似的东西(包括C#和Java ),试着用Lua扩展一个应用程序,但这需要一两周的时间
发布于 2009-02-24 12:09:26
看到这些详细的列表很有趣(尽管它们确实是正确的)。早在2002年,我就读到了Lua参考手册的第一个20+页面,并开始使用它。就这么简单。Lua (和ANSI C)是少数几种一次真正融入一个人头脑的语言--并留在那里。对于其他人,至少我需要不断地做一些重新学习。
要意识到在Lua思考需要时间。我想我的是6个月左右。当我们来自C/C++时,我们倾向于以某种方式解决问题。Lua可能提供更好的方法(例如,通过使用表),但需要一段时间才能开始看到这些。这种向更高抽象级别的转换类似于20世纪80年代的汇编程序->C转换,许多人仍然在C中编码一段时间,就好像它只是一个可移植的汇编程序。
发布于 2009-02-24 10:39:52
LuaForge也有大量与Lua相关的项目。
如果您碰巧使用Windows作为日常平台,那么我建议您将Lua for Windows包作为一个很好的起点。它包括一系列有用的模块,这些模块都是预先构建并与Lua解释器一起安装的。
在您第一次通过PiL和参考手册之后,您将希望阅读当前只在纸质版本中可用的Lua程序设计宝石。
<plug>确实考虑通过卢阿书页或LuaForge的关联链接购买书籍,以支持这些项目。</plug>
编辑:对于适合Lua的编程项目的想法,请查找table提供杠杆的问题。表是Lua的核心,因为即使全局变量也只是表中的字段。表可以通过除nil以外的任何数据类型的值进行索引,但如果用作数组,则具有特别有效的实现。
让来自C类背景的人感到意外的是,Lua中的所有内容都从1开始自然地进行索引。字符串从1开始索引,数组从1开始,等等。不要太担心,使用a[0]没有什么问题,但是#a给出的数组长度是定义的,假设数组是以a[1]开头的。
另一个奇怪之处是函数没有真正的名称。它们是第一类值,通常存储在某个具有名称的变量中。语法糖使它们看起来像是有名字,但这只是一种方便。
Metatable是表(和其他类型,但这是一个非常高级的主题)的一个特别的Lua特性,是在Lua中进行面向对象的工作的大多数方案的基础。
闭包和真正的尾调用是Lua的其他特性,这些特性在小型脚本语言中并不常见,它们确实可以使一些习语易于实现。
https://stackoverflow.com/questions/581074
复制相似问题