다중 값과 값 컨텍스트

다중 값은 평가 결과이며 저장 가능한 게스트 값이 아닙니다. 각 연속 위치는 받을 값 개수를 선언합니다.

한눈에 보기

LISPEX
(call-with-values (lambda () (floor/ 17 5)) list)

결과

OUTPUT
(3 2)

현재 보장

  • 단일 값 컨텍스트는 정확히 하나를 요구하며 0개 또는 2개 이상이면 E320입니다.
  • 폐기 컨텍스트는 개수와 무관하게 받고 call-with-values는 생산자 패킷을 소비자 인자로 전달합니다.
  • values의 각 피연산자 자체는 왼쪽부터 평가되는 단일 값 컨텍스트입니다.

경계

  • 다중 값은 리스트나 벡터로 박싱되지 않습니다.
  • 한 값이 필요한 곳의 (values)는 미지정 센티널이 아니라 오류입니다.