『壹』 1~Lua腳本語言是不是解釋性語言 如果是,是用什麼工具解釋的 2~它需不
lua本身是嵌入式腳本語言。所謂嵌入式 ,就是解釋器 被包含在主程序中。 比如你希望寫一個游戲,這個游戲需要復雜用戶配置文件。這時候你可以使用lua的 函數庫 。lua 提供 一個 load 函數,可用於載入lua腳本。腳本內的lua函數 lua變數就被保存在了內存中。然後再使用lua提供的特殊函數去讀取lua數據結構,或執行lua函數。
lua有特殊編譯器 luac,可將腳本文件預編譯,加快lua的載入速度。
『貳』 lua腳本語言的概念解釋
Lua 教程
lua
Lua 是一種輕量小巧的腳本語言,用標准C語言編寫並以源代碼形式開放, 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。
Lua 是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組於 1993 年開發的,該小組成員有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。
設計目的
其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。
Lua 特性
輕量級: 他用標准C語言編寫並以源代碼形式開放,編譯後僅僅一百餘K,可以很方便的嵌入別的程序里。
可擴展: Lua提供了非常易於使用的擴展介面和機制:由宿主語言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內置的功能一樣。
其它特性:
支持面向過程(procere-oriented)編程和函數式編程(functional programming);
自動內存管理;只提供了一種通用類型的表(table),用它可以實現數組,哈希表,集合,對象;
語言內置模式匹配;閉包(closure);函數也可以看作一個值;提供多線程(協同進程,並非操作系統所支持的線程)支持;
通過閉包和table可以很方便地支持面向對象編程所需要的一些關鍵機制,比如數據抽象,虛函數,繼承和重載等。
Lua 應用場景
游戲開發
獨立應用腳本
Web 應用腳本
擴展和資料庫插件如:MySQL Proxy 和 MySQL WorkBench
安全系統,如入侵檢測系統
第一個 Lua 程序
接下來我們使用 Lua 來輸出"Hello World!"
實例(Lua 5.3)
print("Hello World!")
『叄』 Lua 這個腳本語言一般都用來干什麼,有什麼優點
Lua 是 Koreader 的主要編程語言,從控制底層輸入輸出(處理用戶按鍵輸入、手勢識別、控制屏幕刷新),到處理程序應用邏輯都是由它完成。
可以參考一個使用 Lua 和 C/C++ 混合編程的軟體 Koreader(koreader/koreader - GitHub )。Koreader是運行在 Kindle 和 Kobo 閱讀器上的第三方閱讀軟體,支持多種文檔格式。
『肆』 Lua這門編程語言有什麼特點一般用來開發什麼項目為什麼
是一直腳本語言,相對於其他語言學習起來簡單,一般用於游戲腳本(對話,劇情,人物屬性),作為其他語言的擴展性語言,lua語法靈活,如果c++是一個游戲的邏輯核心,那lua就是游戲的表層,我們能看到的劇情,人物的對話,這些東西和c++編寫的介面做交互 ><
『伍』 luai是什麼意思啊
正確的應為Lua,是一個小巧的腳本語言。
它是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所組成的研究小組於1993年開發的。 其設計目的是為了通過靈活嵌入應用程序中從而為應用程序提供靈活的擴展和定製功能。
所以Lua不適合作為開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
(5)lua腳本屬於什麼語言擴展閱讀:
Lua腳本語言使用時候注意事項:
1、Lua腳本的語句的分號是可選的,這個和GO語言很類似,例如:
chenhao-air:lua chenhao$ lua
Lua 5.2.2 Copyright (C) 1994-2013 Lua.org, PUC-Rio
> print("Hello, World")
Hello, World
>
2、Lua的數字只有double型,64bits,所以不必擔心Lua處理浮點數會慢(除非大於100,000,000,000,000),或是會有精度問題。
『陸』 Lua 是怎樣一門語言
Lua是一個簡潔、輕量、可擴展的腳本語言。Lua有著相對簡單的CAPI而很容易嵌入應用中。很多應用程序使用Lua作為自己的嵌入式腳本語言,以此來實現可配置性、可擴展性。
Lua是一種輕量語言,它的官方版本只包括一個精簡的核心和最基本的庫。這使得Lua體積小、啟動速度快。
它用ANSI C語言編寫,並以源代碼形式開放,編譯後的完整參考解釋器只有大約247kB,到5.4.3版本,該體積變成283kB(Linux,amd64),依然非常小巧,可以很方便的嵌入別的程序里。和許多「大而全」的語言不一樣,網路通信、圖形界面等都沒有默認提供。
但是Lua可以很容易地被擴展:由宿主語言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內置的功能一樣。事實上,現在已經有很多成熟的擴展模塊可供選用。
Lua是一個動態類型語言,支持增量式垃圾收集策略。有內建的,與操作系統無關的協作式多線程支持。Lua原生支持的數據類型很少,只提供了數值(默認是雙精度浮點數,可配置)、布爾量、字元串、表格、函數、線程以及用戶自定義數據這幾種。
但是其處理表和字元串的效率非常之高,加上元表的支持,開發者可以高效的模擬出需要的復雜數據類型(比如集合、數組等)。
Lua是一種多重編程范型的程序設計語言:它只提供了很小的一個特性集合來滿足不同編程范型的需要,而不是為某種特定的編程范型提供繁雜的特性支持。
例如,Lua並不提供繼承這個特性,但是你可以用元表格來模擬它。諸如名字空間、類這些概念都沒有在語言基本特性中實現,但是我們可以用表格結構(Lua唯一提供的復雜數據結構)輕易模擬。正是提供了這些基本的元特性,我們可以任意的對語言進行自需的改造。
Lua實現了少量的高級特徵比如頭等函數、垃圾回收、閉包、正當尾調用、強制(於運行時間在字元串和數值之間自動轉換)、協程(協作多任務)和動態模塊裝載。
實現
Lua程序不是從文本式的Lua文件直接解釋的,而是編譯成位元組碼,接著把它運行在Lua虛擬機上。編譯過程典型的對於用戶是不可見並且是在運行時間進行的,但是它可以離線完成用來增加裝載性能或通過排除編譯器來減少對宿主環境的內存佔用。
Lua位元組碼還可以在Lua之內產生和執行,使用來自字元串庫的mp函數和load/loadstring/loadfile函數。Lua版本5.3.4是用大約24,000行C代碼實現的。
像大多數CPU,而不像多數虛擬機(它們是基於堆棧的),Lua VM是基於寄存器的,因此更加類似真實的硬體設計。寄存器架構既避免了過多的值復制又減少了每函數的指令的總數。Lua 5的虛擬機是第一個廣泛使用的基於寄存器的純VM。
Parrot和Android的Dalvik是另外兩個周知的基於寄存器的VM。PCScheme的VM也是基於寄存器的。
『柒』 LUA是什麼
Lua 是一個小巧的腳本語言。是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成並於1993年開發。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
『捌』 Lua是什麼編程語言
Lua 是一個小巧的腳本語言。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
Lua腳本可以很容易的被C/C++代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,ini等文件格式,並且更容易理解和維護。 Lua由標准C編寫而成,代碼簡潔優美,幾乎在所有操作系統和平台上都可以編譯,運行。一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。