Generowanie jednolitych liczb losowych w Lua

Pracuję nad programowaniem łańcucha Markowa w Lua, a jednym z jego elementów jest jednolite generowanie liczb losowych. Oto uproszczony przykład ilustrujący moje pytanie:

example = function(x)
    local r = math.random(1,10)
    print(r)
    return x[r]
end

exampleArray = {"a","b","c","d","e","f","g","h","i","j"}

print(example(exampleArray))

Moim problemem jest to, że gdy ponownie uruchomię ten program wiele razy (mashF5) generowana jest dokładnie ta sama liczba losowa, co powoduje, że przykładowa funkcja wybiera dokładnie ten sam element tablicy. Jeśli jednak uwzględnię wiele wywołań w funkcji przykładowej w ramach jednego programu, powtarzając wiersz drukowania na końcu wiele razy, otrzymam odpowiednie wyniki losowe.

Nie jest to moim zamiarem, ponieważ odpowiedni generator tekstu pseudolosowego Markowa powinien być w stanie wielokrotnie uruchamiać ten sam program z tymi samymi wejściami i za każdym razem wysyłać inny pseudolosowy tekst. Próbowałem zresetować ziarno za pomocąmath.randomseed(os.time()) i to sprawia, że ​​rozkład liczb losowych nie jest już jednolity. Moim celem jest ponowne uruchomienie powyższego programu i otrzymywanie losowo wybranego numeru za każdym razem.

questionAnswers(3)

yourAnswerToTheQuestion