久久99热66热这里只有精品,特黄特色的大片在线观看,亚洲日本三级在线观看,国产三级农村妇女在线,亚洲av毛片免费在线观看,哺乳叫自慰在线看,天天干美女av网

在Lua中使用模塊的基礎(chǔ)教程 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【m.dameics.com - 電腦資料】

    這篇文章主要介紹了在Lua中模塊的基本使用方法,是Lua入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

    什么是模塊?

    模塊是一個像,可以使用需要加載并有包含表中的單個全局命名的庫,

在Lua中使用模塊的基礎(chǔ)教程

。該模塊可包含若干函數(shù)和變量。所有這些函數(shù)和變量被包裹在以它作為一個命名空間的表。也是一個很乖的模塊有必要的規(guī)定,返回此表上所需要的。

    Lua模塊

    表中的模塊的使用可以幫助我們以多種方式,使我們能夠操縱模塊中我們操縱任何其他lua的表相同的方式。作為操縱模塊的能力的結(jié)果,它提供了額外的功能的量等語言需要特殊的機(jī)制。由于lua模塊,這個免費(fèi)的方式下,用戶可以調(diào)用Lua函數(shù)以多種方式。如下面幾個:

    代碼如下:

    -- Assuming we have a module printFormatter

    -- Also printFormatter has a funtion simpleFormat(arg)

    -- Method 1

    require "printFormatter"

    printFormatter.simpleFormat("test")

    -- Method 2

    local formatter = require "printFormatter"

    formatter.simpleFormat("test")

    -- Method 3

    require "printFormatter"

    local formatterFunction = printFormatter.simpleFormat

    formatterFunction("test")

    在上面的示例代碼中,可以看到如何靈活的編程Lua是沒有任何特殊的額外的代碼。

    函數(shù)規(guī)定

    Lua提供了一個名為規(guī)定加載所有必要的模塊高級函數(shù)。它被保持盡可能的簡單,以避免對模塊太多的信息,以將其加載。該規(guī)定函數(shù)只是假定模塊作為一個代碼塊定義一些值,這實(shí)際上是函數(shù)或者包含函數(shù)表。

    示例

    讓我們考慮一個簡單的例子,其中一個函數(shù)具有數(shù)學(xué)運(yùn)算功能,并允許調(diào)用此模塊作為mymath和文件名是mymath.lua。該文件的內(nèi)容如下。

    代碼如下:

    local mymath = {}

    function mymath.add(a,b)

    print(a+b)

    end

    function mymath.sub(a,b)

    print(a-b)

    end

    function mymath.mul(a,b)

    print(a*b)

    end

    function mymath.div(a,b)

    print(a/b)

    end

    return mymath

    現(xiàn)在為了訪問該lua模塊中的另一個文件moduletutorial.lua,則如下所示,

電腦資料

在Lua中使用模塊的基礎(chǔ)教程》(http://m.dameics.com)。

    代碼如下:

    mymathmodule = require("mymath")

    mymathmodule.add(10,20)

    mymathmodule.sub(30,20)

    mymathmodule.mul(10,20)

    mymathmodule.div(30,20)

    為了運(yùn)行這些代碼,我們需要把在同一個目錄下2 個lua文件,或者也可以放在包路徑的模塊文件,并需要產(chǎn)生額外的設(shè)置。當(dāng)我們運(yùn)行上面的程序,會得到下面的輸出。

    代碼如下:

    30

    10

    200

    1.5

    需要記住的事情

將模塊在同一個目錄下運(yùn)行該文件。

模塊名稱和它的文件名必須是相同的。

這是返回模塊規(guī)定函數(shù),因此該模塊也可以實(shí)現(xiàn)較好如上圖所示,就算能找到其他類型的實(shí)現(xiàn)別的地方的最佳實(shí)踐。

    實(shí)現(xiàn)模塊的老辦法

    現(xiàn)在重新編寫相同的例子,其中使用包舊的方式。查看所有類型的實(shí)現(xiàn)。這是在使用Lua版本5.1和5.0。math模塊如下所示。

    代碼如下:

    module("mymath", package.seeall)

    function mymath.add(a,b)

    print(a+b)

    end

    function mymath.sub(a,b)

    print(a-b)

    end

    function mymath.mul(a,b)

    print(a*b)

    end

    function mymath.div(a,b)

    print(a/b)

    end

    moduletutorial.lua模塊的使用情況如下所示。

    代碼如下:

    require("mymath")

    mymath.add(10,20)

    mymath.sub(30,20)

    mymath.mul(10,20)

    mymath.div(30,20)

    當(dāng)我們運(yùn)行上面,我們會得到相同的輸出。但建議在使用代碼的舊版本,它被認(rèn)為不太安全。使用Lua中像Corona SDK 編程的許多軟件開發(fā)工具包已經(jīng)過時。

最新文章