Lua 從入門到放棄 All In One


Lua 從入門到放棄 All In One

《Lua 從入門到放棄》

What is Lua? Lua is a powerful, efficient, lightweight, embeddable scripting language.
It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

Lua 是什么? Lua是一種強大,高效,輕量級,可嵌入的腳本語言。
它支持過程編程,面向對象的編程,功能編程,數據驅動的編程和數據描述。

為什么選擇 Lua?

  1. Lua 是一種經過驗證的健壯語言

Lua已用於 許多工業應用程序 (例如 Adobe的Photoshop Lightroom),重點是嵌入式系統(例如, 巴西用於數字電視的 Ginga中間件)和 游戲 (例如, 魔獸世界和憤怒的小鳥)。Lua目前 是游戲中領先的腳本語言。Lua有可靠的 參考手冊, 並且有 幾本有關它的書。 自1993年創建以來, 已經發布了多個 版本的Lua並將其用於 實際應用中。Lua出現在 HOPL III,第三屆ACM SIGPLAN編程語言歷史大會中,在2007年。Lua獲得了 《 游戲開發者》雜志2011年一線獎。

  1. Lua 快

Lua因其出色的表演而享有聲譽。聲稱自己像Lua一樣快是其他腳本語言的願望。一些基准測試表明Lua是解釋型腳本語言領域中最快的語言。Lua不僅在微調的基准程序中快速,而且在現實生活中也很快。大型應用程序的大部分已經用Lua編寫了。

如果您需要更高的速度,請嘗試 LuaJIT,這是一個使用即時編譯器的Lua獨立實現。

  1. Lua 是便攜式的

Lua以小包裝形式分發,並且在具有標准C編譯器的所有平台中均可即用地構建。Lua在所有類型的Unix和Windows,移動設備(運行Android,iOS,BREW,Symbian,Windows Phone),嵌入式微處理器(例如ARM和Rabbit,用於Lego MindStorms等應用程序),IBM大型機上運行。

出於特定原因,為什么Lua也是受約束設備的理想選擇,請閱讀 Mike Pall的摘要。另請參見TimmMüller 創建的 海報。

  1. Lua 是可嵌入的

Lua是一種快速的語言引擎,占地面積小,可以輕松地嵌入到您的應用程序中。Lua有一個簡單且文檔齊全的API,可以與其他語言編寫的代碼進行強大的集成。用其他語言編寫的庫來擴展Lua很容易。用Lua擴展用其他語言編寫的程序也很容易。Lua不僅用於擴展用C和C ++編寫的程序,而且還用於擴展用Java,C#,Smalltalk,Fortran,Ada,Erlang甚至其他腳本語言(如Perl和Ruby)編寫的程序。

  1. Lua 功能強大(但簡單)

Lua設計的基本概念是提供用於實現功能的元機制,而不是直接在語言中提供大量功能。例如,盡管Lua不是純粹的面向對象的語言,但它確實提供了用於實現類和繼承的元機制。Lua的元機制帶來了概念的經濟性並保持了語言的小巧,同時允許以非常規的方式擴展語義。

  1. Lua 小

將Lua添加到應用程序不會使其膨脹。Lua 5.4.1的 壓縮文件包含源代碼和文檔,壓縮后為346K,未壓縮為1.3M。源包含大約29000行C。在64位Linux下,使用所有標准Lua庫構建的Lua解釋器需要269K,Lua庫需要450K。

  1. Lua 是免費的

Lua是免費的開源軟件,根據 非常寬松的許可證 (著名的MIT許可證)分發。它可以完全免費用於任何目的,包括商業目的。只需 下載 並使用它。

https://www.lua.org/about.html

install Lua

$ curl -R -O http://www.lua.org/ftp/lua-5.4.2.tar.gz
$ tar zxf lua-5.4.2.tar.gz
$ cd lua-5.4.2

# Linux
$ make linux test
$ make install

$ curl -R -O http://www.lua.org/ftp/lua-5.4.2.tar.gz
$ tar zxf lua-5.4.2.tar.gz
$ cd lua-5.4.2

# macOS
$ make macosx test
$ make install

install lua

$ curl -R -O http://www.lua.org/ftp/lua-5.4.2.tar.gz
$ tar zxf lua-5.4.2.tar.gz
$ cd lua-5.4.2

$ make all test
# install ✅
$ make install

$ lua -v
# Lua 5.4.2  Copyright (C) 1994-2020 Lua.org, PUC-Rio

$ lua --help
$ lua -h
lua: unrecognized option '-h'
usage: lua [options] [script [args]]
Available options are:
  -e stat  execute string 'stat'
  -i       enter interactive mode after executing 'script'
  -l name  require library 'name' into global 'name'
  -v       show version information
  -E       ignore environment variables
  -W       turn warnings on
  --       stop handling options
  -        stop handling options and execute stdin

https://www.lua.org/start.html

https://www.runoob.com/lua/lua-environment.html

demo ✅

HelloWorld.lua

$ touch HelloWorld.lua
$ vim HelloWorld.lua 
$ cat HelloWorld.lua 
-- HelloWorld.lua
print("Hello World!")
print("Hello World!");

$  lua HelloWorld.lua 
Hello World!
Hello World!

cocos2d-x

游戲開發

refs

https://www.lua.org/pil/

https://github.com/lua/lua



©xgqfrms 2012-2020

www.cnblogs.com 發布文章使用:只允許注冊用戶才可以訪問!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM