我无法在 Coffeescript 交互模式(REPL)中编写多行代码

Posted

技术标签:

【中文标题】我无法在 Coffeescript 交互模式(REPL)中编写多行代码【英文标题】:I can't write multiline codes in Coffeescript Interactive Mode(REPL) 【发布时间】:2012-05-16 12:53:58 【问题描述】:

当我在咖啡脚本交互模式下键入多行时,出现错误。

比如我想试试下面的代码:

kids =
  brother:
    name: "Max"
    age:  11
  sister:
    name: "Ida"
    age:  9

显示此错误:

coffee> kids = 
Error: In repl, Parse error on line 1: Unexpected 'TERMINATOR'
  at Object.parseError (/usr/lib/coffeescript/parser.js:463:11)
  at Object.parse (/usr/lib/coffeescript/parser.js:533:22)
  at /usr/lib/coffeescript/coffee-script.js:26:22
  at Object.eval (/usr/lib/coffeescript/coffee-script.js:64:17)
  at Interface.<anonymous> (/usr/lib/coffeescript/repl.js:18:26)
  at Interface.emit (events:27:15)
  at Interface._ttyWrite (readline:309:12)
  at Interface.write (readline:147:30)
  at Stream.<anonymous> (/usr/lib/coffeescript/repl.js:35:17)
  at Stream.emit (events:27:15)

我尝试使用'\'作为换行符,但显示相同的错误。

coffee> kids = \
Error: In repl, Parse error on line 1: Unexpected '\'
  at Object.parseError (/usr/lib/coffeescript/parser.js:463:11)
  at Object.parse (/usr/lib/coffeescript/parser.js:533:22)
  at /usr/lib/coffeescript/coffee-script.js:26:22
  at Object.eval (/usr/lib/coffeescript/coffee-script.js:64:17)
  at Interface.<anonymous> (/usr/lib/coffeescript/repl.js:18:26)
  at Interface.emit (events:27:15)
  at Interface._ttyWrite (readline:309:12)
  at Interface.write (readline:147:30)
  at Stream.<anonymous> (/usr/lib/coffeescript/repl.js:35:17)
  at Stream.emit (events:27:15)

我不能使用多行,所以我不能使用缩进。

我该怎么办?

我的环境如下:

操作系统:Ubuntu 10.04 清醒

咖啡脚本版本 1.0.0 我用 PPA 和 apt-get 命令安装了 coffeescript。

查看此网址:https://launchpad.net/~gezakovacs/+archive/coffeescript

【问题讨论】:

我强烈建议单独安装 Node.js,然后使用npm install -g coffee-script@1.3.1。这样一来,您就可以轻松安装所需的任何版本的 CoffeeScript,并在新版本可用时立即更新。 感谢您的评论。我将使用 ppa 的安装更改为使用 npm。 【参考方案1】:

您也可以使用 Ctrl+V 切换到多行模式。

【讨论】:

啊,Ctrl-V 摇摇欲坠。谢谢 不起作用...coffee> fill = (container, liquid = "coffee") -> "filling the #container with #liquid.." [功能] 咖啡> fill "cup" '用咖啡填充杯子..' ------> shit = (container, liquid = "coffee") -> .. "filling the #container with #液体.." ReferenceError: 容器未定义 我在 Windows 上使用带有 vscode 的节点,它的终端吃掉了我的 ctrl-v 并从剪贴板事件触发粘贴。所以我将 node_modules/coffee-script/lib/coffee-script/repl.js:91:73 的硬编码“v”更改为“b”【参考方案2】:

反斜杠适用于我的咖啡 1.2.1...尝试升级 :)

【讨论】:

以上是关于我无法在 Coffeescript 交互模式(REPL)中编写多行代码的主要内容,如果未能解决你的问题,请参考以下文章

python re 模块和基础正则表达式

CoffeeScript单元测试?

无法访问另一个CoffeeScript文件中的函数?

无法使用 Node.js Express MongoDB Mongoose CoffeeScript 发布

Coffeescript的安装与编译

Coffeescript 和 jQuery 无法在特定视图上使用 Ruby on Rails