Java中挪用SQL Server存儲進程詳解。本站提示廣大學習愛好者:(Java中挪用SQL Server存儲進程詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中挪用SQL Server存儲進程詳解正文
從用戶的角度來看,一個模塊可以或許經由過程 require 加載並前往一個 table,模塊導出的接口都被界說在此 table 中(此 table 被作為一個 namespace)。一切的尺度庫都是模塊。尺度庫被事後加載了,就像如許:
math = require 'math'
string = require 'string'
require 函數
應用 require 函數加載模塊可以或許防止屢次反復加載模塊。加載一個模塊:
require 'modulename'
模塊名(modulename)不那末精確的來講就是一個文件名(Lua 文件或許是 C 庫)。一個模塊被加載後會被緩存到 pacakge.loaded[modulename] 中。看一個例子:
-- test.lua
print 'Hello World'
在 test.lua 的雷同目次下創立 main.lua 文件:
-- main.lua
require 'test'
我們可以測驗考試屢次 require test.lua 文件,但終究只會輸入一次 Hello World。假如我們願望 require 從新加載模塊,那末可以清算 package.loaded:
package.loaded[modulename] = nil
典范:
require 'test' --> Hello World
package.loaded.test = nil
require 'test' --> Hello World
編寫模塊
編寫一個模塊很簡略,我們先創立一個 table 然後把須要導出的接口放入 table 中,最初前往此 table:
-- test.lua
local exports = {}
function exports.foo()
print 'Hello World'
end
return exports
模塊的前往值會被賦值給 package.loaded[modulename]:
assert(require 'test' == package.loaded.test)
假如模塊不前往值,那末 package.loaded[modulename] 的值將為 true:
-- 假定 test.lua 是一個空文件
local t = require 'test'
print(t) --> true
print(package.loaded.test) --> true
更多的編寫模塊的辦法見:http://lua-users.org/wiki/ModulesTutorial
查找模塊
假如一個模塊應用 Lua 編寫,那末將在 package.path 中查找,假如一個模塊應用 C 編寫,那末將在 package.cpath 中查找。package.path 和 package.cpath 是一個分號分隔的途徑列表,例如:
C:\bin\lua\lua\?.lua;C:\bin\lua\lua\?\init.lua;C:\bin\lua\?.lua;C:\bin\lua\?\init.lua;.\?.lua
每個途徑都有一個 ?,真實的查找途徑是將 ? 調換為模塊名以後的途徑。
現實上,我們可以自界說查找模塊的規矩(經由過程向 package.searchers 中添加恰當的 searcher 函數完成),例如我們可以把一切模塊保留在一個加密並緊縮的 zip 文件中。
一個模塊定名為 mod.sub,其是 mod 的子模塊。在查找模塊時,mod.sub 中的 . 號會被轉換為目次分隔符。假定途徑列表以下:
C:\bin\lua\lua\?.lua;.\?.lua
那末 require ‘a.b' 將測驗考試翻開文件:
C:\bin\lua\lua\a\b.lua
.\a\b.lua