当前位置:首页 >百科 >《Network World》主编谈“Lua编程语言” 又不占用大量的磁盘空间

《Network World》主编谈“Lua编程语言” 又不占用大量的磁盘空间

2024-07-01 05:40:08 [百科] 来源:避面尹邢网

《Network World》主编谈“Lua编程语言”

译文 作者:布加迪 编译 移动开发 iOS Lua(葡萄牙语中意为“月亮”)首次发布于1993年,主编旨在成为一门嵌入式的编程解释性脚本语言。它具有小巧、主编快速、编程非常简洁的主编优点,还异常灵活,编程因而得以进入一系列广泛的主编商业应用领域。

【51CTO独家译稿】作为著名IT杂志的编程《Network World》主编马克·吉布斯(Mark Gibbs)有一段时间没有谈论编程语言了,这次马克将介绍免费、主编开源的编程Lua语言,这门语言采用了麻省理工学院(MIT)许可证。主编

Lua编程语言

《Network World》主编谈“Lua编程语言” 又不占用大量的磁盘空间

以下为全部译文:

《Network World》主编谈“Lua编程语言” 又不占用大量的磁盘空间

Lua(葡萄牙语中意为“月亮”)***发布于1993年,编程旨在成为一门嵌入式的主编解释性脚本语言。它具有小巧、编程快速、主编非常简洁的优点,还异常灵活,因而得以进入一系列广泛的商业应用领域。

《Network World》主编谈“Lua编程语言” 又不占用大量的磁盘空间

比如说,Adobe的Photoshop Lightroom其用户界面就是用Lua编写的;罗技的Squeezebox音乐播放器和Damn Small Linux(DSL)操作系统也是用Lua编写的。据维基百科解释,DSL使用“Lua,为命令行实用程序提供了对桌面友好的界面,又不占用大量的磁盘空间。”

我得扯开话题,特别指出这一点:Damn Small Linux眼下步履蹒跚,这个观点出自维基百科关于DSL的那篇文章,还有许多人在博文上的留言。维基百科称:“由于该项目的发起者与主要开发者之间发生内讧,DSL的开发似乎陷入了停滞不前的困境;这个项目前途未卜,这让用户们大为失望。”的确让人失望;而鉴于DSL网站似乎死气沉沉(这款操作系统的4.4版本发布后,网站在2008年似乎没有了人气),祝DSL走好。

不管怎样,Lua学起来很容易,你可以从Lua网站下载它,它有多个实现版本。

用Lua编写的***个经典程序相当普通:

  1. print("hello") 

这个命令输出的当然是“hello”。更有意思一点的Lua是个阶乘计算器:

  1. function fact (n) 
  2. if n == 0 then 
  3. return 1 
  4. else 
  5. return n * fact(n-1) 
  6. end 
  7. end 
  8. print("enter a number:") 
  9. a = io.read("*number") -- read a number 
  10. print(fact(a)) 

但也是更有意思一点而已。

这段代码来自Roberto Ierusalimschy所著的《Lua编程》(Programming in Lua),该书是针对Lua 5.0编写的。现在,Lua的***版本是版本5.1。这本书有点过时了,但仍不失为一本实用的入门书。

Lua是一门引人入胜的语言,有许多示例,可以访问Luaforge网站。你可以试一下交互式在线版。

如果你需要更多***的说明文档,市面上有许多图书可供挑选,也可以完全像许多编程人员那样,直接查阅官方的Lua参考手册。

现在,假设你拥有iPad,可能想要试一下Codea for iPad,这个编程工具由名称很古怪的Two Lives Left开发商发布,它把Lua解释器嵌入到了为iPad设计的iOS应用程序中。

这是个外观漂亮的程序,有优美的图形和设计精良的用户界面。

从起始屏幕,你可以入一个现有的项目,也可以新建一个项目。Codea项目包括:分页窗口(构成应用程序的类在不同的页上)和执行时候的左右两栏布局,上面有程序参数面板、文本输出面板、左边的执行控件(后退、开始、暂停和重置)以及右边的程序图形显示面板。

Codea编程环境真正吸引人的地方是,它与iPad集成得非常好,简直是浑然一体。如果你想更改数字,只要用手指戳一下数字,然后放开,用键盘来编辑,也可以按住,同时上下拖动,即可增加或减小数值。想更改颜色,只要用手指戳一下值,就会弹出颜色选择器。你还可以选择精灵(sprite),操作方式几乎一样。还内置了Lua的完整说明文档。

演示程序给人留下了很深刻的印象。一款演示程序模拟了你在移动iPad时,一块布很自然地摆布(Codea系统能够访问来自方向感应器的数据,并同时检测多个屏幕触摸动作),有几个多点触控演示、几个场面相当复杂的游戏以及鼓机。

缺少了什么功能?缺少了在本地或与外部资源之间导入或导出代码的功能,缺少了访问网络功能的功能,无法隐藏左侧的控制面板,以便应用程序可以全屏运行,还缺少了各种代码保护功能,所以其实无法编写实际用在贵企业的应用程序。Codea开发者Simeon Nasilowski告诉我,他打算进行各种各样的改进,很可能包括我提出的所有需要改进的方面;但眼下,他还没有答应给出时间表。

Simeon告诉我,自Codea在10月26日发布以来,大约已售出了约10000套,每套售价7.99美元,这个成绩相当骄人。Codea在满分是5分的评价中得到了4分。


[[50008]]

作者简介:30多年来,作为《Network World》的主编马克·吉布斯发表了大量IT产业的文章。同时,马克还是负责英国Novell公司技术服务管理运作的联合创始人。

【51CTO译稿,非经授权谢绝转载,合作媒体转载请注明原文出处、作者及51CTO译者!】

 

责任编辑:佚名 来源: 51CTO.com LuaMark Gibbs马克·吉布斯

(责任编辑:娱乐)

    推荐文章
    热点阅读