![[LISPWORKS]](../Graphics/LWSmall.gif)
![[Common Lisp HyperSpec (TM)]](../Graphics/CLHS_Sm.gif) 
 ![[Previous]](../Graphics/Prev.gif)
![[Up]](../Graphics/Up.gif)
![[Next]](../Graphics/Next.gif)
Syntax:
nth-value n form => object
Arguments and Values:
n---a non-negative integer; evaluated.
form---a form; evaluated as described below.
object---an object.
Description:
Evaluates n and then form, returning as its only value the nth value yielded by form, or nil if n is greater than or equal to the number of values returned by form. (The first returned value is numbered 0.)
Examples:
 (nth-value 0 (values 'a 'b)) =>  A
 (nth-value 1 (values 'a 'b)) =>  B
 (nth-value 2 (values 'a 'b)) =>  NIL
 (let* ((x 83927472397238947423879243432432432)
        (y 32423489732)
        (a (nth-value 1 (floor x y)))
        (b (mod x y)))
   (values a b (= a b)))
=>  3332987528, 3332987528, true
 
Side Effects: None.
Affected By: None.
Exceptional Situations: None.
See Also:
Notes:
Operationally, the following relationship is true, although nth-value might be more efficient in some implementations because, for example, some consing might be avoided.
(nth-value n form) == (nth n (multiple-value-list form))
![[Starting Points]](../Graphics/StartPts.gif)
![[Contents]](../Graphics/Contents.gif)
![[Index]](../Graphics/Index.gif)
![[Symbols]](../Graphics/Symbols.gif)
![[Glossary]](../Graphics/Glossary.gif)
![[Issues]](../Graphics/Issues.gif)