diff options
Diffstat (limited to 'src/ffluci/util.lua')
-rw-r--r-- | src/ffluci/util.lua | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ffluci/util.lua b/src/ffluci/util.lua index 6e0d8675a3..4f0551e694 100644 --- a/src/ffluci/util.lua +++ b/src/ffluci/util.lua @@ -92,6 +92,7 @@ function exec(command) return data end + -- Runs "command" and returns its output as a array of lines function execl(command) local pp = io.popen(command) @@ -108,6 +109,7 @@ function execl(command) return data end + -- Populate obj in the scope of f as key function extfenv(f, key, obj) local scope = getfenv(f) @@ -116,6 +118,19 @@ function extfenv(f, key, obj) end +-- Checks whether an object is an instanceof class +function instanceof(object, class) + local meta = getmetatable(object) + while meta and meta.__index do + if meta.__index == class then + return true + end + meta = getmetatable(meta.__index) + end + return false +end + + -- Updates the scope of f with "extscope" function updfenv(f, extscope) local scope = getfenv(f) @@ -125,6 +140,7 @@ function updfenv(f, extscope) setfenv(f, scope) end + -- Returns the filename of the calling script function __file__() return debug.getinfo(2, 'S').source:sub(2) |