ex6_4.lua 635 B

12345678910111213141516171819202122232425262728293031323334
  1. local function shuffle(l)
  2. for i = 1, #l do
  3. local new_i = math.random(1, #l)
  4. local tmp = l[new_i]
  5. l[new_i] = l[i]
  6. l[i] = tmp
  7. end
  8. end
  9. local function table_str(t)
  10. local str = "{"
  11. for _, v in pairs(t) do
  12. if type(v) == "string" then
  13. v = '"' .. v .. '"'
  14. end
  15. str = ("%s %s,"):format(str, v)
  16. end
  17. str = str .. " }"
  18. return str
  19. end
  20. local function test(l)
  21. local str = ("%s -> "):format(table_str(l))
  22. shuffle(l)
  23. str = str .. table_str(l)
  24. print(str)
  25. end
  26. math.randomseed(os.time())
  27. test({ 1, 2, 3, 4 })
  28. test({ "a", "b", "c", "d" })