原创 Lua 標準庫 - 協同程序處理(coroutine manipulation)

協同程序處理庫是lua標準庫的子類庫,可以視作線程使用   1、coroutine.create (f)   功能:建立一個新的協同程序,f爲入口函數,返回一個"thread"的值   2、coroutine.resume (co [,

原创 Lua 標準庫 - 輸入輸出處理(input and output facilities)

I/O庫提供兩種不同的方式進行文件處理   1、io表調用方式:使用io表,io.open將返回指定文件的描述,並且所有的操作將圍繞這個文件描述   io表同樣提供三種預定義的文件描述io.stdin,io.stdout,io.stder

原创 通過例子學習Lua(6)----C/C++中用Lua函數

1.簡介   偶們這次主要說說怎麼由Lua定義函數, 然後在C或者C++中調用. 這裏偶們暫不涉及C++的對象問題, 只討論調用函數的參數, 返回值和全局變量的使用.   2.   這裏偶們在e12.lua裏先定義一個簡單的add(),

原创 通過例子學習Lua(4) -- 函數的調用

1.不定參數   例e07.lua   -- Functions can take a   -- variable number of   -- arguments.   function funky_print (...)   for

原创 Lua 標準庫 - 操作系統處理(operating system facilities)

這個庫通過表os實現   1、os.clock ()   功能:返回一個程序使用CPU時間的一個近似值   2、os.date ([format [, time]])   功能:返回一個按format格式化日期、時間的字串或表   若設置

原创 Lua 標準庫 - 算術函數(mathematical functions)

這是一個標準 C 的算術庫,所有的函數存放於math表   1、math.abs (x)   功能:返回x的絕對值   2、math.acos(x)   功能:函數返回參數x的反餘弦值。參數x 應當在-1和1之間   3、math.asi

原创 LUA基本應用

lua語言規則:   lua_State *L = lua_open(); //建立一個LUA狀態機   luaopen_base(L); // 啓動它   const char *buf = "print('hello, worl

原创 Lua 標準庫 - 模塊(Modules)

包庫爲Lua提供簡易的加載及創建模塊的方法,由require、module方法及package表組成   1、module (name [, ···])   功能:建立一個模塊。   當package.loaded[name]中存在時,當

原创 Lua 標準庫 - 表處理(table manipulation)

表處理庫提供通用的表操作函數,所有操作都是基於表   注:所有函數只適用於以數字索引訪問的表,以1爲基索引   1、table.concat (table [, sep [, i [, j]]])   功能:返回用sep連接表中的字串,s

原创 Lua的語法是無歧義的嗎?

Lua5.0的語法非常簡潔,這從參考手冊中的語法定義的規模(轉換成標準BNF形式大概有100個左右的產生式)可以看出。不過簡潔歸簡潔,它卻不完全是無二義性的。下面將用具體例子揭示什麼樣的代碼會引起歧義(執行環境是www.lua.org發佈

原创 Lua文件處理

一。文件讀存:   -- 似乎不支持大文件(不能超過9k?):   function opensavetest()   local file = io.open("c://in.lua", "r");   if(file) then  

原创 lua實現面向對象的特性

lua本身不支持面向對象的特性,但是由於lua是基於原型(prototype)的語言,要實現面向對象的特性也是有一定的方法的,實現方式有很多種, 總結了一下我最近對使用lua實現面向對象的特性,主要可以分爲以下兩種不同的方式來實現:   

原创 Metatable In Lua 淺嘗輒止

什麼是Metatable   Lua中Metatable這個概念, 國內將他翻譯爲元表. 元表爲重定義Lua中任意一個對象(值)的默認行爲提供了一種公開入口. 如同許多OO語言的操作符重載或方法重載. Metatable能夠爲我們帶來非常

原创 Lua 程序設計初步

在這篇文章中,我想向大家介紹如何進行Lua程序設計。我假設大家都學過至少一門編程語言,比如Basic或C,特別是C。因爲Lua的最大用途是在宿主程序中作爲腳本使用的。   Lua 的語法比較簡單,學習起來也比較省力,但功能卻並不弱。   

原创 通過例子學習Lua(3) ---- Lua數據結構

1.簡介   Lua語言只有一種基本數據結構, 那就是table, 所有其他數據結構如數組啦,   類啦, 都可以由table實現.   2.table的下標   例e05.lua   -- Arrays   myData = {}