Emacs 组织:指定 R 会话?

Emacs org: specify R session?

当有多个 R 会话时,如何指定用于评估源块的会话?假设我打开了两个会话,*R* 和 *R:2*。那么这个

#+BEGIN_SRC R :sessions *R*
ls()
#+END_SRC

应该在会话 *R* 中评估 ls() 而

#+BEGIN_SRC R :sessions *R:2*
ls()
#+END_SRC

应该在会话 *R:2* 中做同样的事情 -- 但它是在会话 *R* 中计算的。

谢谢!

只需稍作改动,您的示例就可以正常工作:

#+BEGIN_SRC R :session *R*
ls()
#+END_SRC

#+BEGIN_SRC R :session *R:2*
ls()
#+END_SRC

或者更清楚一点:

#+BEGIN_SRC R :session *R*
wd <- getwd()
print(paste0("Current working dir: ", wd))
#+END_SRC

#+RESULTS:
: Current working dir: /private/tmp/one

#+BEGIN_SRC R :session *R:2*
wd <- getwd()
print(paste0("Current working dir: ", wd))
#+END_SRC

#+RESULTS:
: Current working dir: /private/tmp/two