From 230d17d0d127bc1bc5a29cd635d1d5bdfba76434 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Thu, 22 Feb 2001 21:28:04 +0000 Subject: [PATCH] Sequence indexes are non-negative, not natural (0 is not a natural number). Reported by Daniel May . De-tabified everywhere. --- Doc/ref/ref3.tex | 64 ++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex index 31d8fbb92d2..bd876cc0583 100644 --- a/Doc/ref/ref3.tex +++ b/Doc/ref/ref3.tex @@ -227,7 +227,7 @@ and \code{z.imag}. \end{description} % Numbers \item[Sequences] -These represent finite ordered sets indexed by natural numbers. +These represent finite ordered sets indexed by non-negative numbers. The built-in function \function{len()}\bifuncindex{len} returns the number of items of a sequence. When the length of a sequence is \var{n}, the @@ -1416,55 +1416,55 @@ skipped. \item[1.] If \var{x} is a class instance: - \begin{itemize} + \begin{itemize} - \item[1a.] If \var{x} has a \method{__coerce__()} method: - replace \var{x} and \var{y} with the 2-tuple returned by - \code{\var{x}.__coerce__(\var{y})}; skip to step 2 if the - coercion returns \code{None}. + \item[1a.] If \var{x} has a \method{__coerce__()} method: + replace \var{x} and \var{y} with the 2-tuple returned by + \code{\var{x}.__coerce__(\var{y})}; skip to step 2 if the + coercion returns \code{None}. - \item[1b.] If neither \var{x} nor \var{y} is a class instance - after coercion, go to step 3. + \item[1b.] If neither \var{x} nor \var{y} is a class instance + after coercion, go to step 3. - \item[1c.] If \var{x} has a method \method{__op__()}, return - \code{\var{x}.__op__(\var{y})}; otherwise, restore \var{x} and - \var{y} to their value before step 1a. + \item[1c.] If \var{x} has a method \method{__op__()}, return + \code{\var{x}.__op__(\var{y})}; otherwise, restore \var{x} and + \var{y} to their value before step 1a. - \end{itemize} + \end{itemize} \item[2.] If \var{y} is a class instance: - \begin{itemize} + \begin{itemize} - \item[2a.] If \var{y} has a \method{__coerce__()} method: - replace \var{y} and \var{x} with the 2-tuple returned by - \code{\var{y}.__coerce__(\var{x})}; skip to step 3 if the - coercion returns \code{None}. + \item[2a.] If \var{y} has a \method{__coerce__()} method: + replace \var{y} and \var{x} with the 2-tuple returned by + \code{\var{y}.__coerce__(\var{x})}; skip to step 3 if the + coercion returns \code{None}. - \item[2b.] If neither \var{x} nor \var{y} is a class instance - after coercion, go to step 3. + \item[2b.] If neither \var{x} nor \var{y} is a class instance + after coercion, go to step 3. - \item[2b.] If \var{y} has a method \method{__rop__()}, return - \code{\var{y}.__rop__(\var{x})}; otherwise, restore \var{x} - and \var{y} to their value before step 2a. + \item[2b.] If \var{y} has a method \method{__rop__()}, return + \code{\var{y}.__rop__(\var{x})}; otherwise, restore \var{x} + and \var{y} to their value before step 2a. - \end{itemize} + \end{itemize} \item[3.] We only get here if neither \var{x} nor \var{y} is a class instance. - \begin{itemize} + \begin{itemize} - \item[3a.] If op is `\code{+}' and \var{x} is a sequence, - sequence concatenation is invoked. + \item[3a.] If op is `\code{+}' and \var{x} is a sequence, + sequence concatenation is invoked. - \item[3b.] If op is `\code{*}' and one operand is a sequence - and the other an integer, sequence repetition is invoked. + \item[3b.] If op is `\code{*}' and one operand is a sequence + and the other an integer, sequence repetition is invoked. - \item[3c.] Otherwise, both operands must be numbers; they are - coerced to a common type if possible, and the numeric - operation is invoked for that type. + \item[3c.] Otherwise, both operands must be numbers; they are + coerced to a common type if possible, and the numeric + operation is invoked for that type. - \end{itemize} + \end{itemize} \end{itemize}