Guest User

Untitled

a guest
Jan 6th, 2025
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. nsDB = {}
  2. nsDB.__index = nsDB
  3.  
  4. function nsDB:new(tabella, nome, key)
  5. local obj = setmetatable({}, self)
  6. tabella = tabella or {}
  7.  
  8. -- Инициализация таблицы
  9. if nome then
  10. tabella[nome] = tabella[nome] or {}
  11. tabella[nome][key] = tabella[nome][key] or {}
  12. else
  13. tabella[key] = tabella[key] or {}
  14. end
  15.  
  16. obj.tabella = tabella
  17. obj.nome = nome
  18. obj.key = key
  19.  
  20. return obj
  21. end
  22.  
  23. function nsDB:add(message, arg)
  24. if arg then
  25. -- Добавление или замена именного ключа
  26. if self.nome then
  27. self.tabella[self.nome][self.key][arg] = message
  28. else
  29. self.tabella[self.key][arg] = message
  30. end
  31. else
  32. -- Добавление в конец
  33. if self.nome then
  34. table.insert(self.tabella[self.nome][self.key], message)
  35. else
  36. table.insert(self.tabella[self.key], message)
  37. end
  38. end
  39. end
  40.  
  41. function nsDB:addPos(message, sign, pos)
  42. if pos then
  43. if self.nome then
  44. if sign == nil then
  45. -- Вставка сообщения в указанную позицию
  46. table.insert(self.tabella[self.nome][self.key], pos, message)
  47. else
  48. -- Замена значения на указанной позиции
  49. self.tabella[self.nome][self.key][pos] = message
  50. end
  51. else
  52. if sign == nil then
  53. -- Вставка сообщения в указанную позицию
  54. table.insert(self.tabella[self.key], pos, message)
  55. else
  56. -- Замена значения на указанной позиции
  57. self.tabella[self.key][pos] = message
  58. end
  59. end
  60. end
  61. end
Advertisement
Add Comment
Please, Sign In to add comment