org-mode – ¿Se pueden generar los resultados de org-babel como comentarios de código?

Pregunta:

En blogs, libros de texto, etc., es muy común mostrar los resultados de algún código como comentarios, por ejemplo:

(+ 1 1) ;=> 2

¿Hay alguna manera de mostrar resultados como este automáticamente usando la función Babel de Org-Mode?

Específicamente, lo que me gustaría es poder especificar un encabezado tal que esto:

#+begin_src scheme <some headers>
(+ 1 1)
(/ 4 (* 2 2))
#+end_src

Se convertiría en lo siguiente cuando Cc Cc :

#+begin_src scheme <some headers>
(+ 1 1) ;=> 2
(/ 4 (* 2 2)) ;=> 1
#+end_src

Y luego, si hice algunos cambios, así …

#+begin_src scheme <some headers>
(+ 1 5) ;=> 2
(/ 8 (* 2 2)) ;=> 1
#+end_src

… y Cc Cc , reemplazaría los comentarios por otros actualizados:

#+begin_src scheme <some headers>
(+ 1 5) ;=> 6
(/ 8 (* 2 2)) ;=> 2
#+end_src

O, aparte de lo que soñé anteriormente, ¿existe una manera fácil de que el procesador de archivos org de github muestre los resultados, de modo que lo siguiente sea visible (idealmente con el formato que especifico en el nivel del documento):

#+RESULTS:
: 2

Respuesta:

prueba esto

Utilice bloques de código con nombre y encabezado noweb para convertir su código en un programa alfabetizado.

#+NAME: my-code
#+BEGIN_SRC elisp :exports none 
(+ 1 1)
#+END_SRC

#+NAME: my-other-code 
#+BEGIN_SRC elisp :exports none 
(/ 4 (* 2 2))
#+END_SRC

Crear una org bloque de código para dar formato al código con el resultado de su

#+BEGIN_SRC org :results drawer replace :noweb yes :exports results 

  ,#+NAME: my-code-with-answer
  ,#+BEGIN_SRC elisp  :exports code 
  <<my-code>> ;=> <<my-code()>>
  <<my-other-code>> ;=> <<my-other-code()>>
  ,#+END_SRC


#+END_SRC

Realice un bloque de código Cc Cc en la org y debería ver resultados similares al código siguiente:

#+RESULTS:
:RESULTS:

#+NAME: my-code-with-answer
#+BEGIN_SRC elisp  :exports code 
(+ 1 1) ;=> 2
(/ 4 (* 2 2)) ;=> 1
#+END_SRC

:END:

Si publica código en Github, debería ver

(+ 1 1) ;=> 2
(/ 4 (* 2 2)) ;=> 1

Este código fue probado con
GNU Emacs 24.5.1 (x86_64-unknown-cygwin, GTK + Versión 3.14.13)
Versión Org-Mode: 8.3.2
y github.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım