Générer des nombres aléatoires uniformes dans Lua

Je suis en train de travailler sur la programmation d'une chaîne de Markov en Lua, et un élément de ce exige que je me uniformément générer des nombres aléatoires. Voici un exemple simplifié pour illustrer ma question:

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))

Mon problème est que lorsque je re-exécuter ce programme en plusieurs fois (mash F5) exactement le même nombre aléatoire est généré résultant dans l'exemple de la fonction de sélection de l'exacte même élément de tableau. Cependant, si je comprend de nombreux appels à l'exemple de la fonction au sein du seul programme en répétant la ligne d'impression à la fin de nombreuses fois, j'obtiens adapté des résultats aléatoires.

Ce n'est pas mon intention est d'un bon de Markov pseudo-générateur de texte aléatoire devrait être en mesure d'exécuter le même programme avec les mêmes entrées à de multiples reprises et de sortie différents pseudo-aléatoire de texte à chaque fois. J'ai essayé de réinitialiser les graines à l'aide de math.randomseed(os.time()) et ce qui le rend si le nombre aléatoire de distribution n'est plus uniforme. Mon objectif est d'être en mesure de ré-exécuter le programme ci-dessus et recevez un choisi au hasard le numéro de tous les temps.

source d'informationauteur Starfish_Prime