4

私はこのようなことをしようとしています:

* Define some functions
#+begin_src python :noweb_ref defs
   def f1(a,b,c):
     return True
   def f2(d,e,f):
     return False
#+end_src

* Use them in a results-exported block later
#+begin_src python :results output :exports both :tangle yes
<<defs>>
print "test results:"
print f1(1,2,3)
#end_src

私がしたいのは、ブロックが評価されてエクスポート出力が生成されるときに、<<defs>>がもつれスタイルで拡張されることです。実際に起こることは、<< defs >>が文字通り評価され、構文エラーを引き起こすことです。

このようなブロックを出力ファイルにもつれさせると、すべてが完全に機能しますが、バッファーをエクスポートするときに同じことを行う方法がわかりません。

提案?

4

2 に答える 2

5

私はあなたのポイントを本当に理解するかどうかはわかりません...しかし

1)noweb:yesヘッダー引数を見逃している

2) (funcのコードの代わりに)funcを評価した結果<<func()>>を挿入するために使用できます-これは、あなたが本当に何を望んでいるのかわからないことです。

于 2013-03-18T19:55:56.513 に答える
2

を使用することもできます:noweb no-export。これは、エクスポートされたファイルのnoweb-syntaxを示していますが、ファイルを評価またはもつれているときにコードブロックを拡張します。

:noweb strip-exportアルゴリズムを表示したいだけの場合に最適です。

<<prep>>
result = A + B
<<plot>>

エクスポートされたファイルは次のように表示されます。

result = A + B
于 2013-05-28T12:49:30.600 に答える