Selaa lähdekoodia

Changes to results value/output section in o-b-worg.org

Dan Davison 16 vuotta sitten
vanhempi
commit
03cc4f71e6
1 muutettua tiedostoa jossa 38 lisäystä ja 2 poistoa
  1. 38 2
      org-babel-worg.org

+ 38 - 2
org-babel-worg.org

@@ -202,7 +202,7 @@ matrix(rnorm(6), nrow=2)
     :END:
     Org-babel provides two fundamentally different modes for capturing
     the results of code evaluation, specified by the =:results= header
-    argument:
+    argument.
 **** =:results value= (functional mode)
      This means that the 'result' of code evaluation is defined to be
      the *value* of the last statement in the block. Thus with this
@@ -210,6 +210,23 @@ matrix(rnorm(6), nrow=2)
      value. And not only can you view it that way, but you can
      actually use the return value of one source block as input for
      another (see later). This setting is the default.
+     
+     As an example, consider the following block of python code and its
+     output.
+
+#+begin_src python :results value
+import time
+print("Hello, today's date is %s" % time.ctime())
+print('Two plus two is')
+2 + 2
+#+end_src
+
+#+resname:
+: 4
+
+Notice that in functional mode, the output consists of the value of
+the last statement, and nothing else.
+
 **** =:results output= (scripting mode)
      With this setting, org-babel captures all the text output of the
      code block and places it in the org buffer. One can think of this
@@ -217,7 +234,26 @@ matrix(rnorm(6), nrow=2)
      commands, and you get the output of all the commands. Unlike in
      the 'functional' mode, the code block has no return value. (This
      mode will be familiar to Sweave users).
-     
+
+     Now consider the result of evaluating the same source block as
+     before, but under scripting mode.
+
+#+srcname: name
+#+begin_src python :results output
+import time
+print("Hello, today's date is %s" % time.ctime())
+print('Two plus two is')
+2 + 2
+#+end_src
+
+#+resname: name
+: Hello, today's date is Fri Sep  4 19:49:06 2009
+: Two plus two is
+
+So, we got what we asked for: all the text output by python
+(stdout). Since we didn't print the last value (2 + 2), we didn't get
+it in our output.
+
 *** Arguments to source code blocks
     :PROPERTIES:
     :CUSTOM_ID: arguments-to-source-code-blocks