Forte40

Config API

Aug 19th, 2014
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.96 KB | None | 0 0
  1. -- allow for direct manipulation of the global environment of the calling script
  2. local env = {}
  3. setmetatable(env, {__index = _G})
  4. setfenv(2, env)
  5. setfenv(1, env)
  6.  
  7. local function getNumber(desc, default)
  8.   local result = nil
  9.   while result == nil do
  10.     if default == nil then
  11.       io.write("Enter "..desc..": ")
  12.     else
  13.       io.write("Enter "..desc.." ["..tostring(default).."] :")
  14.     end
  15.     result = io.read()
  16.     if result == "" and default ~= nil then
  17.       result = default
  18.       break
  19.     else
  20.       result = tonumber(result)
  21.     end
  22.   end
  23.   return result
  24. end
  25.  
  26. local function load(fileName)
  27.   local f = fs.open(fileName, "r")
  28.   if f ~= nil then
  29.     local data = f.readAll()
  30.     f.close()
  31.     return textutils.unserialize(data)
  32.   end
  33. end
  34.  
  35. local function save(fileName, data)
  36.   local f = fs.open(fileName, "w")
  37.   f.write(textutils.serialize(data))
  38.   f.close()
  39. end
  40.  
  41. config = {
  42.   load = load,
  43.   save = save,
  44.   getNumber = getNumber
  45. }
Add Comment
Please, Sign In to add comment