338 lines
6.6 KiB
HTML
338 lines
6.6 KiB
HTML
|
<!DOCTYPE HTML>
|
||
|
<HTML LANG="en-us"
|
||
|
><HEAD
|
||
|
><TITLE
|
||
|
>aref | Common Lisp Nova Spec</TITLE
|
||
|
><META CHARSET="US-ASCII"
|
||
|
><LINK REL="canonical" HREF="f_aref.html"
|
||
|
><LINK REL="next" HREF="f_array-dimension.html" TYPE="text/html" TITLE="array-dimension"
|
||
|
><LINK REL="prev" HREF="f_adjustable-array-p.html" TYPE="text/html" TITLE="adjustable-array-p"
|
||
|
><LINK REL="up" HREF="15_2_Arrays_Dictionary.html" TYPE="text/html" TITLE="15.2 Arrays Dictionary"
|
||
|
><LINK REL="start" HREF="index.html" TYPE="text/html" TITLE="Common Lisp Nova Spec"
|
||
|
><META NAME="VIEWPORT" CONTENT="width=device-width, initial-scale=1.0"
|
||
|
><LINK REL="STYLESHEET" HREF="dpans.css%3F3909942064.css"
|
||
|
><SCRIPT SRC="dpans.js%3F3909942064"
|
||
|
></SCRIPT
|
||
|
><SCRIPT SRC="apropos.js%3F3909942064"
|
||
|
></SCRIPT
|
||
|
></HEAD
|
||
|
><BODY
|
||
|
><DIV
|
||
|
><DIV CLASS="topnav"
|
||
|
><DIV CLASS="breadcrumb"
|
||
|
><SPAN CLASS="breadcrumb-item"
|
||
|
><A HREF="index.html"
|
||
|
>Common Lisp Nova Spec</A
|
||
|
></SPAN
|
||
|
> <SPAN CLASS="breadcrumb-item"
|
||
|
>→ <A HREF="15_Arrays.html"
|
||
|
>15. Arrays</A
|
||
|
></SPAN
|
||
|
> <SPAN CLASS="breadcrumb-item"
|
||
|
>→ <A HREF="15_2_Arrays_Dictionary.html"
|
||
|
>15.2 Arrays Dictionary</A
|
||
|
></SPAN
|
||
|
> <SPAN CLASS="breadcrumb-item"
|
||
|
>→ <A HREF="f_aref.html"
|
||
|
>aref</A
|
||
|
></SPAN
|
||
|
></DIV
|
||
|
><DIV CLASS="apropos"
|
||
|
><DIV CLASS="apropos-io"
|
||
|
><A HREF="f_adjustable-array-p.html" CLASS="prev"
|
||
|
>←</A
|
||
|
><SPAN ID="apropos-label"
|
||
|
>Apropos </SPAN
|
||
|
><INPUT ID="apropos" AUTOFOCUS="AUTOFOCUS" PLACEHOLDER="Type here to search" ONINPUT="aproposInput(this);" ONKEYUP="aproposKeyup(event);" ONCHANGE="aproposChange(this);" ONFOCUS="aproposFocus(this);" ONFOCUSOUT="aproposFocusout(this);"
|
||
|
><A HREF="f_array-dimension.html" CLASS="next"
|
||
|
>→</A
|
||
|
></DIV
|
||
|
><DIV ID="apropos-res"
|
||
|
></DIV
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV CLASS="matter"
|
||
|
><DIV CLASS="com"
|
||
|
><DIV CLASS="begincom"
|
||
|
><HR
|
||
|
><TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="0"
|
||
|
><TR
|
||
|
><TD ALIGN="LEFT" VALIGN="BASELINE" WIDTH="100%" CLASS="name"
|
||
|
><SPAN CLASS="idx" DATA-KIND="idxref" DATA-TERM="aref"
|
||
|
></SPAN
|
||
|
><B
|
||
|
>aref</B
|
||
|
></TD
|
||
|
><TD ALIGN="RIGHT" VALIGN="BASELINE" WIDTH="0" NOWRAP="NOWRAP" CLASS="ftype"
|
||
|
><I
|
||
|
>Accessor</I
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
><HR
|
||
|
></DIV
|
||
|
><UL CLASS="subtoc"
|
||
|
></UL
|
||
|
><DL
|
||
|
><DT
|
||
|
><B
|
||
|
>Syntax</B
|
||
|
></DT
|
||
|
><DD
|
||
|
><P CLASS="j"
|
||
|
><B
|
||
|
>aref</B
|
||
|
> <SPAN CLASS="cmssi"
|
||
|
>array</SPAN
|
||
|
> <SPAN CLASS="cmtt"
|
||
|
>&rest</SPAN
|
||
|
> <SPAN CLASS="cmssi"
|
||
|
>subscripts</SPAN
|
||
|
> <SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
> <SPAN CLASS="cmssi"
|
||
|
>element</SPAN
|
||
|
></P
|
||
|
><P CLASS="j"
|
||
|
><B
|
||
|
>(setf (aref</B
|
||
|
> <SPAN CLASS="cmssi"
|
||
|
>array</SPAN
|
||
|
> <SPAN CLASS="cmtt"
|
||
|
>&rest</SPAN
|
||
|
> <SPAN CLASS="cmssi"
|
||
|
>subscripts</SPAN
|
||
|
><B
|
||
|
>)</B
|
||
|
> <SPAN CLASS="cmssi"
|
||
|
>new-element</SPAN
|
||
|
><B
|
||
|
>)</B
|
||
|
></P
|
||
|
></DD
|
||
|
><DT
|
||
|
><B
|
||
|
>Arguments and Values</B
|
||
|
></DT
|
||
|
><DD
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>array</VAR
|
||
|
> — an <A HREF="26_1_Glossary.html#array"
|
||
|
><EM CLASS="term"
|
||
|
>array</EM
|
||
|
></A
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>subscripts</VAR
|
||
|
> — a <A HREF="26_1_Glossary.html#list"
|
||
|
><EM CLASS="term"
|
||
|
>list</EM
|
||
|
></A
|
||
|
> of <A HREF="26_1_Glossary.html#valid_array_index"
|
||
|
><EM CLASS="term"
|
||
|
>valid array indices</EM
|
||
|
></A
|
||
|
> for the <VAR CLASS="param"
|
||
|
>array</VAR
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><VAR CLASS="param"
|
||
|
>element</VAR
|
||
|
>, <VAR CLASS="param"
|
||
|
>new-element</VAR
|
||
|
> — an <A HREF="26_1_Glossary.html#object"
|
||
|
><EM CLASS="term"
|
||
|
>object</EM
|
||
|
></A
|
||
|
>.</P
|
||
|
></DD
|
||
|
><DT
|
||
|
><B
|
||
|
>Description</B
|
||
|
></DT
|
||
|
><DD
|
||
|
><P CLASS="j"
|
||
|
><A HREF="26_1_Glossary.html#access"
|
||
|
><EM CLASS="term"
|
||
|
>Accesses</EM
|
||
|
></A
|
||
|
> the <VAR CLASS="param"
|
||
|
>array</VAR
|
||
|
> <A HREF="26_1_Glossary.html#element"
|
||
|
><EM CLASS="term"
|
||
|
>element</EM
|
||
|
></A
|
||
|
> specified by the <VAR CLASS="param"
|
||
|
>subscripts</VAR
|
||
|
>. If no <VAR CLASS="param"
|
||
|
>subscripts</VAR
|
||
|
> are supplied and <VAR CLASS="param"
|
||
|
>array</VAR
|
||
|
> is zero rank, <A HREF="f_aref.html" CLASS="funref"
|
||
|
><B
|
||
|
>aref</B
|
||
|
></A
|
||
|
> <A HREF="26_1_Glossary.html#access"
|
||
|
><EM CLASS="term"
|
||
|
>accesses</EM
|
||
|
></A
|
||
|
> the sole element of <VAR CLASS="param"
|
||
|
>array</VAR
|
||
|
>. </P
|
||
|
><P CLASS="j"
|
||
|
><A HREF="f_aref.html" CLASS="funref"
|
||
|
><B
|
||
|
>aref</B
|
||
|
></A
|
||
|
> ignores <A HREF="26_1_Glossary.html#fill_pointer"
|
||
|
><EM CLASS="term"
|
||
|
>fill pointers</EM
|
||
|
></A
|
||
|
>. It is permissible to use <A HREF="f_aref.html" CLASS="funref"
|
||
|
><B
|
||
|
>aref</B
|
||
|
></A
|
||
|
> to <A HREF="26_1_Glossary.html#access"
|
||
|
><EM CLASS="term"
|
||
|
>access</EM
|
||
|
></A
|
||
|
> any <VAR CLASS="param"
|
||
|
>array</VAR
|
||
|
> <A HREF="26_1_Glossary.html#element"
|
||
|
><EM CLASS="term"
|
||
|
>element</EM
|
||
|
></A
|
||
|
>, whether <A HREF="26_1_Glossary.html#active"
|
||
|
><EM CLASS="term"
|
||
|
>active</EM
|
||
|
></A
|
||
|
> or not.</P
|
||
|
></DD
|
||
|
><DT
|
||
|
><B
|
||
|
>Examples</B
|
||
|
></DT
|
||
|
><DD
|
||
|
><P CLASS="j"
|
||
|
>If the variable <CODE CLASS="f"
|
||
|
>foo</CODE
|
||
|
> names a 3-by-5 array, then the first index could be 0, 1, or 2, and then second index could be 0, 1, 2, 3, or 4. The array elements can be referred to by using the <A HREF="26_1_Glossary.html#function"
|
||
|
><EM CLASS="term"
|
||
|
>function</EM
|
||
|
></A
|
||
|
> <A HREF="f_aref.html" CLASS="funref"
|
||
|
><B
|
||
|
>aref</B
|
||
|
></A
|
||
|
>; for example, <CODE CLASS="f"
|
||
|
>(aref foo 2 1)</CODE
|
||
|
> refers to element (2, 1) of the array.</P
|
||
|
><PRE CLASS="screen"
|
||
|
>(aref (setq alpha (make-array 4)) 3) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> <A HREF="26_1_Glossary.html#implementation-dependent"
|
||
|
><EM CLASS="term"
|
||
|
>implementation-dependent</EM
|
||
|
></A
|
||
|
>
|
||
|
(setf (aref alpha 3) 'sirens) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> SIRENS
|
||
|
(aref alpha 3) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> SIRENS
|
||
|
(aref (setq beta (make-array '(2 4)
|
||
|
:element-type '(unsigned-byte 2)
|
||
|
:initial-contents '((0 1 2 3) (3 2 1 0))))
|
||
|
1 2) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> 1
|
||
|
(setq gamma '(0 2))
|
||
|
(apply #'aref beta gamma) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> 2
|
||
|
(setf (apply #'aref beta gamma) 3) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> 3
|
||
|
(apply #'aref beta gamma) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> 3
|
||
|
(aref beta 0 2) <SPAN CLASS="cmsy"
|
||
|
><SPAN CLASS="arrow"
|
||
|
>→</SPAN
|
||
|
></SPAN
|
||
|
> 3</PRE
|
||
|
></DD
|
||
|
><DT
|
||
|
><B
|
||
|
>See Also</B
|
||
|
></DT
|
||
|
><DD
|
||
|
><P CLASS="j"
|
||
|
><A HREF="f_bit.html" CLASS="funref"
|
||
|
><B
|
||
|
>bit</B
|
||
|
></A
|
||
|
>, <A HREF="f_char.html" CLASS="funref"
|
||
|
><B
|
||
|
>char</B
|
||
|
></A
|
||
|
>, <A HREF="f_elt.html" CLASS="funref"
|
||
|
><B
|
||
|
>elt</B
|
||
|
></A
|
||
|
>, <A HREF="f_row-major-aref.html" CLASS="funref"
|
||
|
><B
|
||
|
>row-major-aref</B
|
||
|
></A
|
||
|
>, <A HREF="f_svref.html" CLASS="funref"
|
||
|
><B
|
||
|
>svref</B
|
||
|
></A
|
||
|
>, <A HREF="3_2_Compilation.html#sec_3_2_1" CLASS="secref"
|
||
|
><SPAN CLASS="cmr"
|
||
|
>Section</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>3.2.1</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>(Compiler</SPAN
|
||
|
> <SPAN CLASS="cmr"
|
||
|
>Terminology)</SPAN
|
||
|
></A
|
||
|
></P
|
||
|
></DD
|
||
|
></DL
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV CLASS="footer"
|
||
|
><DIV CLASS="btmnav"
|
||
|
><A HREF="f_adjustable-array-p.html" CLASS="prev"
|
||
|
>←</A
|
||
|
><A HREF="f_array-dimension.html" CLASS="next"
|
||
|
>→</A
|
||
|
></DIV
|
||
|
><DIV CLASS="trail"
|
||
|
>Conversion to HTML copyright 2023 by Gilbert Baumann</DIV
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><SCRIPT
|
||
|
>domReady();</SCRIPT
|
||
|
></BODY
|
||
|
></HTML
|
||
|
>
|