原文:Step By Step(Lua迭代器和泛型for)

. 迭代器與Closure: 在Lua中,迭代器通常為函數,每調用一次函數,即返回集合中的 下一個 元素。每個迭代器都需要在每次成功調用之間保持一些狀態,這樣才能知道它所在的位置和下一次遍歷時的位置。從這一點看,Lua中closure機制為此問題提供了語言上的保障,見如下示例: 從上面的應用示例來看,相比於while方式,泛型for的方式提供了更清晰的實現邏輯。因為Lua在其內部替我們保存了迭代 ...

2012-06-20 09:11 11 12554 推薦指數:

查看詳情

Step By Step(Lua開篇)

一、簡介:  Lua作為目前最為流行的、免費輕量級嵌入式腳本語言,在很多工業級的應用程序中被廣泛應用,如Adobe's Photoshop,甚至是在一些著名的游戲程序中也被大量使用,如星際。不僅如此,由於Lua具備很多特殊的優點,如語法簡單(基於過程)、高效穩定(基於字節碼)、可以處理復雜 ...

Mon Jun 11 17:24:00 CST 2012 8 12256
Step By Step(Lua函數)

一、函數: 在Lua中函數的調用方式和C語言基本相同,如:print("Hello World")和a = add(x, y)。唯一的差別是,如果函數只有一個參數,並且該參數的類型為字符串常量或table的構造,那么圓括號可以省略,如print "Hello World"和f {x ...

Mon Jun 18 18:05:00 CST 2012 6 14521
Step By Step(Lua環境)

Lua將其所有的全局變量保存在一個常規的table中,這個table被稱為“環境”。它被保存在全局變量_G中。 1. 全局變量聲明: Lua中的全局變量不需要聲明就可以使用。盡管很方便,但是一旦出現筆誤就會造成難以發現的錯誤。我們可以通過給_G表加元表的方式來保護全局變量的讀取 ...

Mon Jul 02 17:56:00 CST 2012 0 6320
Step By Step(Lua目錄)

之前已經說了很多,我目前的觀點還是那樣,在嵌入式腳本中,Lua是最優秀、最高效的,如果您有不同的觀點,歡迎指正並討論,切勿吐槽。這個系列完全來自於《Programming in Lua》,您可以將其視為本人的讀書筆記。相比而言,如果您已經掌握了Lua,但仍然不是非常熟練,請相信這個系列一定 ...

Mon Jul 30 17:22:00 CST 2012 7 20105
Step By Step(Lua模塊與包)

Lua 5.1開始,我們可以使用require和module函數來獲取和創建Lua中的模塊。從使用者的角度來看,一個模塊就是一個程序庫,可以通過require來加載,之后便得到一個類型為table的全局變量。此時的table就像名字空間一樣,可以訪問其中的函數和常量 ...

Wed Jul 04 17:35:00 CST 2012 5 15357
Step By Step(C調用Lua)

1. 基礎: Lua的一項重要用途就是作為一種配置語言。現在從一個簡單的示例開始吧。 --這里是用Lua代碼定義的窗口大小的配置信息 width = 200 height = 300 下面是讀取配置信息的C/C++代碼: 下面 ...

Fri Jul 20 16:47:00 CST 2012 0 14814
Step By Step(Lua數據持久化)

1. 數據文件: 我們可以利用Lua中table的構造式來定義一種文件格式,即文件中的數據是table構造並初始化的代碼,這種方式對於Lua程序而言是非常方便和清晰的,如: Entry { "Stephen Liu", "Male", "Programmer", "BS ...

Wed Jun 27 16:09:00 CST 2012 6 6278
Step By Step(Lua弱引用table)

Lua采用了基於垃圾收集的內存管理機制,因此對於程序員來說,在很多時候內存問題都將不再困擾他們。然而任何垃圾收集都不是萬能的,在有些特殊情況下,垃圾收集是無法准確的判斷是否應該將當前對象清理。這樣就極有可能導致很多垃圾對象無法被釋放。為了解決這一問題,就需要Lua的開發者予以一定程度 ...

Mon Jul 09 17:18:00 CST 2012 0 9469
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM