初學者必看:Lua入門學習教程

來源:互聯網
上載者:User

Lua入門學習教程是本文要介紹的內容,主要是來對Lua入門的一個學習,Lua是一個被設計成用於擴充C/C++編程的輕量級指令碼語言。不幸的是,網上很少有關於這個語言的線上教程。我主要通過閱讀其原始碼來瞭解它是怎樣工作並且通過一些發布的程式學習它。希望,通過下面的教程,會讓學習Lua更加簡單。

本教程涵蓋了Lua5.1。在Lua的每一個版本中都有一些非常不同之處。下面的範例程式碼將不能在老版本的Lua下運行。如果你仍然在使用老版本而且不願意升級,不用擔心,我已經在文章底部提供了4.0和5.0教程的原始碼下載串連。好了,讓我們開始吧!

首先,你需要下載Lua。你需要從Lua下載頁面去下載原始碼。如果你需要編譯好了的二進位庫,你能在LuaBinaries 中找到你想要的庫(lib or dll)。

現在,我們需要安裝Lua。在Linux下,你應該先解壓檔案,然後以root使用者在命令列鍵入"make linux"和"make linux install"。如果你需要協助,請參考原始碼檔案夾中的INSTALL檔案。現在,我下載了windows平台下的二進位庫包並把它們解壓到"C:/Program Files/lua5.1"。

在Linux下不需要我們做任何設定,但是在windows平台下我們必須配置Visual C++,以便讓編譯器和連接器找到Lua檔案。

開啟Visual C++,選擇Tools菜單中的選項菜單。

展開"項目",並選擇"VC++ 目錄"。

選擇"包含檔案",添加一個新路徑"C:/Program Files/lua5.1/include"。

在選擇"庫文家",添加路徑"C:/Program Files/lua5.1/lib/dll"(這裡假設你下載的庫為dll,你也可以下載靜態連結庫)。

確定。 

現在你可以開始編譯你的第一個Lua應用了。

使用Lua開始你的第一個程式

這個程式簡短且直接,下面做一點說明:

lua_open()返回一個指向Lua解譯器的一個指標。

luaL_openlibs()用於裝載Lua庫,它提供了一些簡單的函數,如:print。

通過調用luaL_dofile()執行指令碼。它的作用是讀取並解釋指令碼。

最後,通過lua_close()函數關閉Lua。

儲存檔案為luatest.cpp。如果你直接使用C而不是C++,將檔案名稱改為luatest.c,然後將extern "C"刪除。

 
  1. #include <stdio.h>  extern "C" {   
  2. #include "lua.h"   
  3. #include "lualib.h"   
  4. #include "lauxlib.h"  
  5. }   
  6. /*   
  7. Lua解譯器指標   
  8. */  
  9. lua_State* L;   
  10. int main ( int argc, char *argv[] ){   
  11. /*   
  12. 初始化Lua   
  13. */  
  14. L = lua_open();   
  15. /*   
  16. 載入Lua基本庫   
  17. */  
  18. luaL_openlibs(L);   
  19. /*   
  20. 運行指令碼   
  21. */  
  22. luaL_dofile(L, "test.lua");  
  23.  /* 清  
  24.  除Lua   
  25.  */  
  26.  lua_close(L);   
  27.  /*   
  28.  暫停   
  29.  */  
  30.  printf( "Press enter to exit…" );  
  31.  getchar(); return 0;  
  32.  }  

下面是test.lua的內容。

 
  1. simple testprint "Hello, World!"  

編譯

在Linux下,在命令列鍵入:

 
  1. g++ luatest.cpp -llua -ldl -o luatest 

然後,鍵入下列命令運行:

 
  1. ./luatest 

如果沒有問題,程式將在終端輸出Hello, World!

在Visual C++你將需要進行下列步驟:

建立一個新的空Win32控制台應用工程。

將"luatest.cpp"加入你的工程。

選擇項目菜單中的屬性菜單。

在"連接器"的"輸入"欄目的"附加依賴項"中輸入"lua5.1.lib"。

確定。

此時,按F7構建程式。

如果你採用的是dll庫,請確保將其放在應用程式的目錄中或者windows系統能夠找到它的地方。如果你採用的是靜態串連庫,則不需要。

小結:初學者必看:Lua入門學習教程的內容介紹完了,希望通過本文的學習能對你有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.