I would like to suggest the following patches for Array.html in the ruby-1.4 documentation set. Principally these are to improve navigation within the file, but also to show that "..." ranges may be used in Array expressions. Hugh hgs / dmu.ac.uk --- Array.html.orig Fri Oct 15 01:46:35 1999 +++ Array.html Wed Jul 26 10:21:06 2000 @@ -69,24 +69,38 @@ array. The index of the last element is -1. Returns <code>nil</code>, if the <var>nth</var> element is not exist in the array. </p> -<DT><CODE>self[<VAR>start</VAR>..<VAR>end</VAR>]</CODE> +<p> +See also <A HREF="#aset"> +<CODE>self[<VAR>nth</VAR>] = <VAR>val</VAR></CODE></A>. +</p> +<DT><A NAME="arange"> +<CODE>self[<VAR>start</VAR>..<VAR>end</VAR>]</CODE></A> <DD> <p> Returns an array containing the objects from <var>start</var> to -<var>end</var>, including both ends. if <var>end</var> is larger than -the length of the array, it will be rounded to the length. If -<var>start</var> is out of an array range , returns <code>nil</code>. -And if <var>start</var> is larger than <var>end</var> with in array -range, returns empty array (<code>[]</code>). +<var>end</var>, including both ends. If <CODE>...</CODE> is used (instead +of <CODE>..</CODE>), then <var>end</var> is not included. if <var>end</var> +is larger than the length of the array, it will be rounded to the +length. If <var>start</var> is out of an array range , returns +<code>nil</code>. And if <var>start</var> is larger than <var>end</var> +with in array range, returns empty array (<code>[]</code>). </p> - -<DT><CODE>self[<VAR>start</VAR>, <VAR>length</VAR>]</CODE> +<p> +See also <A HREF="#arangeset"> +<CODE>self[<VAR>start</VAR>..<VAR>end</VAR>] = <VAR>val</VAR></CODE></A>. +</P> +<DT><A NAME="alength"> +<CODE>self[<VAR>start</VAR>, <VAR>length</VAR>]</CODE></A> <DD> <p> Returns an array containing <var>length</var> items from <var>start</var>. Returns <CODE>nil</CODE> if <var>length</var> is negative. </p> +See also <A HREF="#alengthset"> +<CODE>self[<VAR>start</VAR>, <VAR>length</VAR>] = <VAR>val</VAR></CODE></A>. +<p> +</p> <DT><A NAME="aset"> <CODE>self[<VAR>nth</VAR>] = <VAR>val</VAR></CODE></A> <DD> @@ -96,21 +110,36 @@ extended automatically. Extended region shall be initialized by <code>nil</code>. </p> -<DT><CODE>self[<VAR>start</VAR>..<VAR>end</VAR>] = <VAR>val</VAR></CODE> +<p> +See also <A HREF="#aref"> +<CODE>self[<VAR>nth</VAR>]</CODE></A>. +</p> +<DT><A NAME="arangeset"> +<CODE>self[<VAR>start</VAR>..<VAR>end</VAR>] = <VAR>val</VAR></CODE></A> <DD> <p> Replace the items from <var>start</var> to <var>end</var> with -<var>val</var>. If <var>val</var> is not an array, the type of -<var>val</var> will be converted into the Array using +<var>val</var>. If <CODE>...</CODE> is used (instead of <CODE>..</CODE>) +then <var>end</var> is not included. If <var>val</var> is not an array, +the type of <var>val</var> will be converted into the Array using <code>to_a</code> method. </p> -<DT><CODE>self[<VAR>start</VAR>, <VAR>length</VAR>] = <VAR>val</VAR></CODE> +<p> +See also <A HREF="#arange"> +<CODE>self[<VAR>start</VAR>..<VAR>end</VAR>]</CODE></A>. +</P> +<DT><A NAME="alengthset"> +<CODE>self[<VAR>start</VAR>, <VAR>length</VAR>] = <VAR>val</VAR></CODE></A> <DD> <p> Replace the <var>length</var> items from <var>start</var> with <var>val</var>. If <var>val</var> is not an array, the type of <var>val</var> will be converted into the Array using <code>to_a</code>. +</p> +<p> +See also <A HREF="#alength"> +<CODE>self[<VAR>start</VAR>, <VAR>length</VAR>]</CODE></A>. </p> <p> Example: