lua編譯和執行

2021-08-27 19:17:24 字數 926 閱讀 1276

lua**

dofile 用於執行lua**塊. 但實際上loadfile才做了核心的工作.

loadfile會從乙個檔案中載入lua**塊,但它不會執行**,只是編譯**,然後將編譯結果作為乙個函式返回。

function dofile ( filename)

local f = assert( loadfile( filename))

return f()

end

在發生錯誤的情況下,loadfile 會返回nil及錯誤訊息

函式loadstring和loadfile類似,不同之處在於它是從乙個字串讀取**

f = loadstring(" i = i + 1 ")

f變成了乙個函式,每次呼叫時就執行 "i = i + 1"

loadstring總是在全域性環境下 編譯它的字串

c**與lua**不同,c**在使用前先鏈結入乙個應用程式,使用動態連線的方式。

lua提供的關於動態鏈結的功能聚集在乙個函式中 package.loadlib

local path = "/usr/local/lib/lua/5.1/socket.so"

local f = package.loadlib(path, "luaopen_socket")

錯誤 哲學:犯錯誤是人的天性

對於大多數應用,無須在lua**中作任何錯誤處理,應用程式本身會負責這類問題。

所有的lua活動都是由應用的一次呼叫開始,這類呼叫通常時要求lua執行乙個程式塊。

如果執行中發生了錯誤,此呼叫會返回乙個錯誤**。

如果需要在lua中處理錯誤,則必須使用函式pcall來包裝需要執行的**。

local status, err = pcall(function() a = "a" + 1 end)

error() 函式 可以丟擲乙個自動異常

lua的編譯 執行

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!lua是乙個指令碼語言,它的編譯器非常簡單。一般而言,lua在遊戲裡面使用得比較多。它可以通過類似於指令碼的形式把函式的功能序列起來,實現很多不可思議的效果。現在關於lua的資料比較少,主要有兩個文件可以介紹一下。乙個是雲風翻譯的lua手冊,另外一...

Lua的編譯 執行和除錯技術介紹

dofile讀入檔案編譯並執行,真正完成功能的函式是loadfile 與dofile不同,loadfile僅僅是編譯 成中間碼,並且把編譯後的chunk作為函式返回。如果發生dqcwoa錯誤,返回nil和錯誤資訊。我們可以這麼定義dofile 複製 如下 function dofile filena...

Lua學習 編譯生成lua和luac

眾所周知,lua是一種強大的指令碼語言,並且這種語言是用c語言實現的。為什麼要學習這門語言?因為它可以增強我看c語言 的功底。我下的lua版本是lua5.3,關於lua5.3的簡介如下 下好了,該怎麼編譯?開啟makefile,於是看到關鍵的一行 plats aix bsd c89 freebsd ...