2017-12-10 20 views
1

Ada 프로그램에서 범위의 임의의 정수와 정의한 임의의 유형의 두 가지 유형의 무작위를 만들고 싶습니다. 내 explample에서 내가 가진 :하나의 Ada 프로그램에 여러 개의 무작위 유형이 있습니까?

package servizio_random is new Ada.Numerics.Discrete_Random(servizio); 
use servizio_random; 
G : Generator; 

package tempo_random is new Ada.Numerics.Discrete_Random(tempo); 
use tempo_random; 

나는 무작위 "SERVIZIO"를 사용하고 싶습니다를 :

type servizio is (piscina, spa, entrambi); 
type tempo is range 2..5; 

나는 다음과 같이 임의의 인스턴스를 만들려고 내 주요 작업에서 "템포"특정 작업 (task type cliente (ID: cliente_id; tipo: servizio);)에서 임의의 동안. 음, 내 질문은 : 이것을하는 방법? 발전기가 여러 대 필요합니까 아니면 하나만 필요합니까? 모든 코드를 주 작업에 넣으려고했지만 생성기가 표시되지 않는다는 오류가 발생했습니다 (어쩌면 두 가지 "사용"을 입력했기 때문일 수 있습니다). 또한 나는 "템포"무작위를 cliente 작업에 넣고 다른 발전기를 정의하려고 시도했지만 성공하지는 못했습니다. 함수 Random (G)을 사용하고 랜덤 유형 ("cliente"또는 "tempo")을 선택하여 사용하는 방법은 무엇입니까? 어떻게 작동합니까? 감사합니다.

+0

질문을 편집하여 "다른 발전기를 정의하십시오 (작업 범위에서) 성공했지만 성공하지 못했습니다"라고 설명하십시오. - 어떻게 성공하지 못했습니까? 무슨 컴파일러 오류 메시지? (실패한 소스 코드도 좋을 것입니다, 그렇지 않으면 우리는 단지 추측입니다) –

답변

6

여러 개의 발전기가 정상입니다.

은 그러나 당신은 아마 필요에 따라 다음 G1 또는 G2 중 하나에서 임의의 데이터를 얻을 수

G1 : servizio_random.Generator; 
G2 : tempo_random.generator; 

처럼 사용 절을 생략하고 자격을 갖춘 이름을 사용하고 싶습니다.

+0

그것은 작동합니다! 고맙습니다! –