Merge pull request #636 from tianon/read-docs

Fix RST code-block rendering for (read) examples and add more complex example of (read) usage
This commit is contained in:
Berker Peksag 2014-08-19 12:18:34 +03:00
commit 6147acfc61

View File

@ -915,12 +915,14 @@ Raises an `EOFError` if `from-file` ends before a complete expression can be
parsed. parsed.
.. code-block:: hy .. code-block:: hy
=> (read) => (read)
(+ 2 2) (+ 2 2)
('+' 2 2) ('+' 2 2)
=> (eval (read)) => (eval (read))
(+ 2 2) (+ 2 2)
4 4
=> (import io) => (import io)
=> (def buffer (io.StringIO "(+ 2 2)\n(- 2 1)")) => (def buffer (io.StringIO "(+ 2 2)\n(- 2 1)"))
=> (eval (apply read [] {"from_file" buffer})) => (eval (apply read [] {"from_file" buffer}))
@ -928,6 +930,24 @@ parsed.
=> (eval (apply read [] {"from_file" buffer})) => (eval (apply read [] {"from_file" buffer}))
1 1
=> ; assuming "example.hy" contains:
=> ; (print "hello")
=> ; (print "hyfriends!")
=> (with [[f (open "example.hy")]]
... (try
... (while true
... (let [[exp (read f)]]
... (do
... (print "OHY" exp)
... (eval exp))))
... (catch [e EOFError]
... (print "EOF!"))))
OHY ('print' 'hello')
hello
OHY ('print' 'hyfriends!')
hyfriends!
EOF!
.. _remove-fn: .. _remove-fn: