Org-babel'in `call` işlevi tüm sonuçları tırnak içinde sarar.

Org-babel kaynak bloklarını kullanarak, bir bloğu isimlendirebilir ve daha sonra arayabilirim. Bloğu kendisi değerlendirdiğimde, çıplak bir değer elde ediyorum:

#+name: demo
#+BEGIN_SRC python
return 5
#+END_SRC

#+RESULTS: demo
: 5

Ancak, bloğu yaparsam, sonuç her zaman alıntıda olur:

#+call: demo()

#+RESULTS:
: "5"

Bu davranışı nasıl toprak olarak değiştirirsiniz? Ben org-babel-inline-results-wrap ile uğraştım, boşuna.

0
Tam örneğinizi kullanarak, her zaman basit bir kısaltılmamış 5 elde ederim. Bunun dışında, değiştiricileri CIV deyimine (örneğin sonuçlara, vb.) Tam olarak SRC bloğunda yapabileceğinizden emin olun (kılavuza bakın). : # + CALL: [] () .
katma yazar Ross, kaynak
Evet. Örneğin, call - : sonuç verbatim 'e sağlayabildiğim her bayrağı denedim. Ve, else call çıktısının birisinin alıntılandığı bir örneği daha önce hiç görmedim. Bu yüzden benim sonucum: bir şekilde yapılandırılabilir! Ama ben, hayatım boyunca, nasıl olduğunu anlayamıyorum.
katma yazar Dawny33, kaynak

1 cevap

Bu, : sonuç sonuç bloklarının sonuçlarının bir yan etkisi olarak ortaya çıkıyor. Vis:

#+name: demo
#+BEGIN_SRC python :results verbatim
return 5
#+END_SRC

#+RESULTS: demo
: 5

#+call: demo() :results value

#+RESULTS:
: 5

#+call: demo() :results verbatim

#+RESULTS:
: "5"

Açıkçası, bunun neden böyle olduğu hakkında hiçbir fikrim yok, ama en azından bir başkası onun için koştuğu sırada burada. (: verbatim komutunu çok sık kullanılan src bloklarında kullanırım.)

1
katma
Şimdi çoğaltabilirim. Ancak, orijinal src bloğunda ve çağrı bloğunda verbatim gerektirir. Bu bana posta listesine gönderilmesi gereken bir böcek gibi görünüyor.
katma yazar Ross, kaynak