diff options
Diffstat (limited to 'sandbox/code-block-directive/docs/for-else-test.py.txt')
-rw-r--r-- | sandbox/code-block-directive/docs/for-else-test.py.txt | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/sandbox/code-block-directive/docs/for-else-test.py.txt b/sandbox/code-block-directive/docs/for-else-test.py.txt deleted file mode 100644 index d9687ecd5..000000000 --- a/sandbox/code-block-directive/docs/for-else-test.py.txt +++ /dev/null @@ -1,92 +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. - -Convert between text <-> code source formats with:: - - pylit --code-block-marker='.. code-block:: python' - -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 - - >>> execfile('for-else-test.py') - >>> 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 - |