Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Emacs节点REPL异常行为_Node.js_Emacs_Read Eval Print Loop - Fatal编程技术网

Node.js Emacs节点REPL异常行为

Node.js Emacs节点REPL异常行为,node.js,emacs,read-eval-print-loop,Node.js,Emacs,Read Eval Print Loop,我在ubuntu ec2实例的emacs中使用了一个节点REPL,我注意到每当我在REPL中键入一个未知字符,例如“#”,REPL就会停止工作,而不是让每一行都以“>”开头,我会在那里输入我的代码“^[[5G]。如果我点击C-C-C,那么REPL将恢复正常。这里发生了什么 我认为这可能与注释有关。如果是这样的话,如果第一行是注释,我将如何使用C-C C-r将我所有的代码带到REPL?在JavaScript中#是非法标记,而不是注释(尝试在浏览器JavaScript控制台中输入)。这会在计算时生成

我在ubuntu ec2实例的emacs中使用了一个节点REPL,我注意到每当我在REPL中键入一个未知字符,例如“#”,REPL就会停止工作,而不是让每一行都以“>”开头,我会在那里输入我的代码“^[[5G]。如果我点击C-C-C,那么REPL将恢复正常。这里发生了什么

我认为这可能与注释有关。如果是这样的话,如果第一行是注释,我将如何使用C-C C-r将我所有的代码带到REPL?

在JavaScript中
#
是非法标记,而不是注释(尝试在浏览器JavaScript控制台中输入)。这会在计算时生成语法错误,但是节点REPL试图通过缓冲命令并提示您进行更多输入(
)来提供帮助,以尝试从错误中恢复

这与此处的行为相同(如来源中所述):

但是,在你的情况下,我不相信你能从糟糕的语法中恢复过来。

在JavaScript
#
中是非法的标记,而不是注释(尝试在浏览器JavaScript控制台中输入)。这会在计算时生成语法错误,但是节点REPL试图通过缓冲命令并提示您进行更多输入(
)来提供帮助,以尝试从错误中恢复

这与此处的行为相同(如来源中所述):


然而,在你的情况下,我不相信你能从糟糕的语法中恢复过来。

要回答你的最后一个问题,我们需要看看代码。
#
在JavaScript中是非法的标记,所以你的脚本不能有效。我想我可以模糊地记得,出于某种原因,带节点的commint缓冲区无法捕获错误流。因此,节点实际lly打印了一些东西,不仅没有打印到stdout,而是打印到stderror,它没有被重定向到Emacs。为了回答您的最后一个问题,我们需要查看代码。
#
在JavaScript中是非法标记,因此您的脚本无效。我想我可以模糊地记得,出于某种原因,带有节点的commint buffer不会捕获错误流。所以节点实际上打印了一些东西,不仅打印到stdout,而且打印到stderror,而stderror不会被重定向到Emacs。
> {          // syntax error!
... x : 1    // syntax error!
... }        // recovered ...
{ x: 1 }