SML/NJ에서 대기열 라이브러리를 어떻게 사용합니까?
문제
SML/NJ에 큐 구조가 포함되어 있습니다. 사용 방법을 알 수 없습니다. SML/NJ가 제공하는 추가 라이브러리를 어떻게 사용합니까?
해결책
그만큼 Queue
구조 SML '97에 의해 지정되지는 않지만 SML/NJ의 최상위 환경에 있습니다.
$ sml Standard ML of New Jersey v110.69 [built: Fri Mar 13 16:02:47 2009] - Queue.mkQueue (); [autoloading] [library $SMLNJ-LIB/Util/smlnj-lib.cm is stable] [autoloading done] stdIn:1.1-1.17 Warning: type vars not generalized because of value restriction are instantiated to dummy types (X1,X2,...) val it = - : ?.X1 Queue.queue -
당신은 할 수 있습니다 open
구조. 이렇게하면 타이핑을 피할 수 있습니다 Queue.
모든 것 앞에. 그러나 환경을 오염시키고 당신이 의존하는 것에 대해 훨씬 덜 분명하게 만들기 때문에 최상위 수준 에서이 작업을 수행 할 수 없습니다. (다른 구조 내에서 나는 어떤 상황에서는 그것이 받아 들여질 수 있다고 말합니다.)
$ sml Standard ML of New Jersey v110.69 [built: Fri Mar 13 16:02:47 2009] - open Queue; [autoloading] [library $SMLNJ-LIB/Util/smlnj-lib.cm is stable] [autoloading done] opening Queue type 'a queue exception Dequeue val mkQueue : unit -> 'a queue val clear : 'a queue -> unit val isEmpty : 'a queue -> bool val enqueue : 'a queue * 'a -> unit val dequeue : 'a queue -> 'a val next : 'a queue -> 'a option val delete : 'a queue * ('a -> bool) -> unit val head : 'a queue -> 'a val peek : 'a queue -> 'a option val length : 'a queue -> int val contents : 'a queue -> 'a list val app : ('a -> unit) -> 'a queue -> unit val map : ('a -> 'b) -> 'a queue -> 'b queue val foldl : ('a * 'b -> 'b) -> 'b -> 'a queue -> 'b val foldr : ('a * 'b -> 'b) -> 'b -> 'a queue -> 'b - mkQueue (); stdIn:3.1-3.11 Warning: type vars not generalized because of value restriction are instantiated to dummy types (X1,X2,...) val it = - : ?.X1 queue -
다른 팁
나는 당신에게 완전한 대답이 없지만 당신을 올바른 방향으로 가리킬 수 있습니다. SML/NJ에 내장 된 컴파일 관리자 (CM)를 사용해야합니다. 당신은 그것을 SML을 위해 생각할 수 있습니다.
SML/NJ 라이브러리에서 라이브러리를 사용하려면 응용 프로그램의 CM 설명 파일에 SMLNJ-LIB.CM을 추가하십시오. 그런 다음 해당 라이브러리의 대기열과 같은 선언을 사용할 수 있습니다.
SMLNJ 웹 사이트에는 다음에 대한 문서가 있습니다 편집 관리자.
이것이 적어도 당신을 올바른 방향으로 가리키길 바랍니다.
정수 대기열을 만들려면 다음 코드를 사용하십시오. 원하는 데이터 유형으로 'int'를 교체하십시오.
val que = Queue.mkqueue(): int Queue.queue
다른 모든 것을 찾을 수 있습니다 여기.
제휴하지 않습니다 StackOverflow