summaryrefslogtreecommitdiff
path: root/sandbox/code-block-directive/docs/for-else-test.py
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/code-block-directive/docs/for-else-test.py')
-rw-r--r--sandbox/code-block-directive/docs/for-else-test.py85
1 files changed, 0 insertions, 85 deletions
diff --git a/sandbox/code-block-directive/docs/for-else-test.py b/sandbox/code-block-directive/docs/for-else-test.py
deleted file mode 100644
index d3edf4400..000000000
--- a/sandbox/code-block-directive/docs/for-else-test.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# Example for syntax highlight with Pygments
-# ==========================================
-#
-# Translate this document to HTML with a pygments enhanced frontend::
-#
-# rst2html-pygments --stylesheet=pygments-default.css
-#
-# or to LaTeX with::
-#
-# rst2latex-pygments --stylesheet=pygments-default.sty
-#
-# to gain syntax highlight in the output.
-#
-# .. Run the doctests with ``pylit --doctest for-else-test.py``.
-#
-#
-# for-else-test
-# -------------
-#
-# Test the flow in a `for` loop with `else` statement.
-#
-# First define a simple `for` loop.
-#
-# .. code-block:: python
-
-def loop1(iterable):
- """simple for loop with `else` statement"""
- for i in iterable:
- print i
- else:
- print "iterable empty"
- print "Ende"
-
-# Now test it:
-#
-# The first test runs as I expect: iterator empty -> else clause applies:
-#
-# .. code-block:: pycon
-#
-# >>> loop1(range(0))
-# iterable empty
-# Ende
-#
-# However, the else clause even runs if the iterator is not empty in the first
-# place but after it is "spent":
-#
-# .. code-block:: pycon
-#
-# >>> loop1(range(3))
-# 0
-# 1
-# 2
-# iterable empty
-# Ende
-#
-# It seems like the else clause can only be prevented, if we break out of
-# the loop. Let's try
-#
-# .. code-block:: python
-
-def loop2(iterable):
- """for loop with `break` and `else` statement"""
- for i in iterable:
- print i
- break
- else:
- print "iterable empty"
- print "Ende"
-
-# And indeed, the else clause is skipped after breaking out of the loop:
-#
-# .. code-block:: pycon
-#
-# >>> loop2(range(3))
-# 0
-# Ende
-#
-# The empty iterator runs as expected:
-#
-# .. code-block:: pycon
-#
-# >>> loop2(range(0))
-# iterable empty
-# Ende
-#