Tento canalizar a saída de um bloco de origem para o próximo bloco de origem como entrada padrão. Aqui está um exemplo do que tenho até agora:
Create stdin data:
#+header: :exports code
#+header: :results output
#+begin_src sh
echo "That goes to the next"
#+end_src
#+name: piped
#+RESULTS:
: That goes to the next
Use "piped" as stdin:
#+header: :exports results
#+header: :stdin piped
#+header: :results output
#+begin_src sh
VALUE=$(cat)
echo "I got:"
echo "$VALUE"
#+end_src
Meus problemas com isso são:
Eu tenho que criar manualmente o resultado do primeiro bloco pressionando
C-c C-c
o resultado deve ser incluído no buffer organizacional (não é necessária uma saída grande)
o resultado deve ser nomeado manualmente
Existe uma maneira alternativa ou melhor de fazer isso?
Eu tive um caso de uso semelhante e rolei um exportador simples que me permitiu usar o modo json para a fonte / entrada do stdin:
Em seguida, adicione
(passthrough . t)
org-babel-list-langauges e aqui está em ação:fonte
Chame um bloco src de outro usando as referências "noweb" (consulte
(info "(org) Noweb reference syntax")
):fonte
cat
no shell foi apenas um exemplo simples.Outra maneira de resolver esse problema é nomear a entrada como um bloco EXAMPLE ou QUOTE se a entrada for realmente estática. Algo assim:
ou um EXEMPLO, se você preferir:
faça referência aos blocos nomeados no código que você deseja avaliar; aqui usamos o exemplo QUOTE:
Como o valor do
some-json
bloco é estático, não há necessidade de avaliá-lo. Othe-code
bloco de avaliação fornece:fonte