Advertisement
clark

table.Split + garrysmod / ffs pastebin log me in

Jul 6th, 2014
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local table = table
  2. local math = math
  3. local pairs = pairs
  4.  
  5. local clamp = math.Clamp
  6. local count = table.Count
  7.  
  8. function table.SplitByCount(tbl, sli)
  9.     if !tbl then print("table.SplitByCount failed table argument wasn't provided.") return end
  10.     if !sli then print("table.SplitByCount failed slices argument wasn't provided.") return end
  11.    
  12.     local num = count(tbl) / sli
  13.     local oldTable, newTable = tbl, {}
  14.    
  15.     tbl = {}
  16.    
  17.     for k, v in pairs(oldTable) do
  18.         tbl[1 + count(tbl)] = { key = k, value = v }
  19.     end
  20.    
  21.     local _num = 1
  22.     for i = 1, num do
  23.         for _i = 1, sli do
  24.             if !newTable[_i] then newTable[_i] = {} end
  25.            
  26.             if tbl[_num] then
  27.                 newTable[_i][tbl[_num].key] = tbl[_num].value
  28.                 _num = _num + 1
  29.             end
  30.         end
  31.     end
  32.    
  33.     return newTable
  34. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement