summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2002-01-29 14:53:30 (GMT)
committerFred Drake <fdrake@acm.org>2002-01-29 14:53:30 (GMT)
commitc26467d53f8c0805a59cd1a4aea13a04e21f0502 (patch)
tree28d21ea3bc4805e2bec6206a0d0a54e2ffa5a41b
parent9635d0bd1fbf03f130b219e316662d1b38743a46 (diff)
downloadcpython-c26467d53f8c0805a59cd1a4aea13a04e21f0502.zip
cpython-c26467d53f8c0805a59cd1a4aea13a04e21f0502.tar.gz
cpython-c26467d53f8c0805a59cd1a4aea13a04e21f0502.tar.bz2
Revise cheeseshop example so that the order of the keyword output is
completely determined by the example; dict insertion order and the string hash algorithm no longer affect the output. This fixes SF bug #509281.
-rw-r--r--Doc/tut/tut.tex9
1 files changed, 8 insertions, 1 deletions
diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index 608388b..27f33c9 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -1485,7 +1485,9 @@ def cheeseshop(kind, *arguments, **keywords):
print "-- I'm sorry, we're all out of", kind
for arg in arguments: print arg
print '-'*40
- for kw in keywords.keys(): print kw, ':', keywords[kw]
+ keys = keywords.keys()
+ keys.sort()
+ for kw in keys: print kw, ':', keywords[kw]
\end{verbatim}
It could be called like this:
@@ -1511,6 +1513,11 @@ shopkeeper : Michael Palin
sketch : Cheese Shop Sketch
\end{verbatim}
+Note that the \method{sort()} method of the list of keyword argument
+names is called before printing the contents of the \code{keywords}
+dictionary; if this is not done, the order in which the arguments are
+printed is undefined.
+
\subsection{Arbitrary Argument Lists \label{arbitraryArgs}}