组织模式块中的 SML returns it = "stdIn" : string
SML in org-mode block returns it = "stdIn" : string
当我启动 SML REPL 并输入时
print("floor is : " ^ (Int.toString (floor 3.1823)) ^ "\n");
我明白了
floor is : 3
val it = () : unit
即预期行为。但是当我在 Emacs 组织模式源代码块中做同样的事情时:
#+name: sml_test
#+begin_src sml :exports both
print("floor is : " ^ (Int.toString (floor 3.1823)) ^ "\n");
#+end_src
我得到了神秘的(对我来说)
#+RESULTS: sml_test
: val it = "stdIn" : string
机器学习领域的人知道这意味着什么吗?
这可能是 ob-sml 中的错误。如果您访问 *sml* 缓冲区,并在源块上执行 C-c C-c,sml REPL 将获得此输入:
print("floor is : " ^ (Int.toString (floor 3.1823)) ^ "\n");
; "stdIn";
注意那里额外的 "stdIn"。此外,如果你在块上设置 :results output
,你应该得到块的标准输出,但我得到与默认 :results value
设置相同的东西(和你得到的一样:神秘的东西我猜这是那个虚假 "stdIn" 的结果——我应该说我对 ML 一无所知,所以对所有这些都持适当大小的盐粒)。我会在 ob-sml github 项目上提出一个问题。
当我启动 SML REPL 并输入时
print("floor is : " ^ (Int.toString (floor 3.1823)) ^ "\n");
我明白了
floor is : 3
val it = () : unit
即预期行为。但是当我在 Emacs 组织模式源代码块中做同样的事情时:
#+name: sml_test
#+begin_src sml :exports both
print("floor is : " ^ (Int.toString (floor 3.1823)) ^ "\n");
#+end_src
我得到了神秘的(对我来说)
#+RESULTS: sml_test
: val it = "stdIn" : string
机器学习领域的人知道这意味着什么吗?
这可能是 ob-sml 中的错误。如果您访问 *sml* 缓冲区,并在源块上执行 C-c C-c,sml REPL 将获得此输入:
print("floor is : " ^ (Int.toString (floor 3.1823)) ^ "\n");
; "stdIn";
注意那里额外的 "stdIn"。此外,如果你在块上设置 :results output
,你应该得到块的标准输出,但我得到与默认 :results value
设置相同的东西(和你得到的一样:神秘的东西我猜这是那个虚假 "stdIn" 的结果——我应该说我对 ML 一无所知,所以对所有这些都持适当大小的盐粒)。我会在 ob-sml github 项目上提出一个问题。