특정 유형이 될 것이다 "약속"에 : 그것은 입력 "empty"
인의 경우 임의의 색상을 반환어떻게 값은 내가 입력 된/라켓에이 기능이있는 경우
(: random-if-empty (-> (U Image-Color "empty") Image-Color))
(define (random-if-empty s)
(cond
[(equal? s "empty") (random-color)]
[else s]))
를, 그렇지 않으면 그것은 입력의 반환 형식 검사기에서 대신 Image-Color
또는"empty"
이 될 수 있다고 s
(in in [else s]
)이 말하지 않도록하려면 어떻게해야합니까? 아니면 전체적으로 더 좋은 방법이 있습니까? 나는 typed/2htdp/image
라이브러리를 사용하고 있는데, Image-Color
의 출처입니다.
동등하지 않습니다. 그것은 술어가 아니기 때문입니다. – Vityou
'string? '으로 변경하면 Image-Color가 문자열 일 수있는 경우 프로그램의 동작이 변경됩니다. 'typed/2htdp/image'에서 가능하기 때문에, Gibstick의 첫 번째 해결책은 잘못되었습니다. –