에서 org-mode
함수, 변수를 정의한 다음 다른 변수에 첫 번째 변수에 대한 함수 호출 결과를 할당하려고합니다. 그러나 후속 함수 호출 에서이 새로운 변수를 사용할 수없는 것 같습니다.
함수 호출을 인라인하면 작동하지만 변수에 먼저 값을 적용하면 첫 번째 함수 호출에서 문제가 발생하는 경우 더 빠른 디버그가 가능하고 값 비싼 계산이 중복되는 것을 피할 수 있습니다.
MWE : ( (require 'ob-emacs-lisp)
필요한 경우 사용 )
#+name: square
#+begin_src emacs-lisp :var x=3
(message (format "%s" (* x x)))
#+end_src
#+RESULTS: square
: 9
#+name: value
: 45
#+name: squaredvalue
#+call: square(x=value)
#+RESULTS: squaredvalue
: 2025
Now I try to reuse this value:
#+begin_src emacs-lisp :var res=squaredvalue
(message res)
#+end_src
#+RESULTS:
: nil
Inlined calls do work:
#+begin_src emacs-lisp :var res=square(value)
(message res)
#+end_src
#+RESULTS:
: 2025
두 번째 코드 블록을 확장하면 다음이 표시됩니다.
(let ((res (quote "nil")))
(message res))
내가 무엇을 놓치고 있습니까?
(org 8.2.10을 사용하여 emacs 24.3.1, 24.4 및 24.5에서 테스트되었습니다)