2011-09-05 5 views
0

나는 간단한 루아 스크립트 파일을 작성하는 경우 :
test.lua컴파일 된 (?) 스크립트를 덮어 쓰는 방법은 무엇입니까?

#!/usr/bin/env lua 

local var = math.random(100) 
print(var) 

라고 할 때 그것은 항상 정말 각각의 호출에 새로운 임의의 값이어야한다하더라도, 같은 값을 출력됩니다. (?)
내 생각 스크립트가 예를 들어 컴파일됩니다 있다는 것입니다 :

#!/usr/bin/env lua 

local var = 82 
print(var) 

내가하기 위해 할 수있는 일

(82 첫 번째 통화에서 임의의 값이 인 경우) 스크립트를 호출 할 때마다 새로운 (?) 바이트 코드가 컴파일 (?)되어 스크립트를 실행할 때마다 새로운 임의의 값을 얻을 수 있는지 확인하십시오.

내가 추가 한 이유 (?) 스크립트가 전혀 컴파일 또는 그들이 무엇을 호출 할 때 그들에게 어떻게받을 경우 내가 알지도 못하는 것입니다,하지만 난을 얻을 수 있기 때문에 그런 일이 명확하게 일어나고있다 항상 같은 가치.

답변

6

스크립트가 바이트 코드로 유지되지 않고, 모든 실행시 동일한 기본 임의 시드가 사용된다는 것입니다. 이것은 당신이 보는 효과입니다 : 스크립트를 실행할 때마다 똑같은 "무작위"시퀀스를 얻습니다.

당신은 내 모든 질문에 대답하는 대단히 감사합니다, 예를

math.randomseed(os.time()) 
+0

아하 위해 수행하여 초기화한다 – Michelrandahl

관련 문제