从`coffee`可执行文件调用函数

ele*_*ele 2 textmate node.js coffeescript read-eval-print-loop

请原谅noob问题,但为什么我不能(几乎)从coffeeREPL中调用(几乎)任何标准函数(或者从TextMate中编写并运行的文件)?

变量赋值工作,函数没有.

例子:

coffee> string = "string"
'string'
coffee> list = [1,2,3]
[ 1, 2, 3 ]
coffee> num = 42
42
coffee> opposite = true
true
coffee> num = -42 if opposite
-42
Run Code Online (Sandbox Code Playgroud)

coffee> alert "Hello, World"
ReferenceError: alert is not defined
    at repl:1:5
    at REPLServer.replDefaults.eval (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:33:28)
    at repl.js:239:12
    at Interface.<anonymous> (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:62:9)
    at Interface.EventEmitter.emit (events.js:117:20)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)
    at Interface._ttyWrite (readline.js:760:14)
    at ReadStream.onkeypress (readline.js:99:10)
    at ReadStream.EventEmitter.emit (events.js:117:20)
Run Code Online (Sandbox Code Playgroud)

coffee> print "Hello"
ReferenceError: print is not defined
    at repl:1:5
    at REPLServer.replDefaults.eval (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:33:28)
    at repl.js:239:12
    at Interface.<anonymous> (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:62:9)
    at Interface.EventEmitter.emit (events.js:117:20)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)
    at Interface._ttyWrite (readline.js:760:14)
    at ReadStream.onkeypress (readline.js:99:10)
    at ReadStream.EventEmitter.emit (events.js:117:20)
Run Code Online (Sandbox Code Playgroud)

真正让我感到的是:

coffee> console.log "Help!"
Help!
undefined
Run Code Online (Sandbox Code Playgroud)

我通过Homebrew和CoffeeScript安装了Node(全局)通过npm.

Ale*_*yne 5

alert不是javascript 的功能.它是浏览器向JavaScript 公开的API的一部分.而coffee在你的计算机上的命令行就位于瘦包装node.js已翻译的咖啡脚本成JavaScript通过节点来解释. node.js不提供alert功能.它也不提供全球print功能.

节点和浏览器都提供console全局对象.所以console.log工作原理相同.

刷新节点文档以了解节点公开的函数.并且记住,仅仅因为它在浏览器中工作并不意味着它将在节点中工作.