2014-01-19 3 views
0

Я прочитал из этого source, что я могу запустить интерактивную среду, используя coffee -r ./prelude на моей консоли. Тем не менее, он не работает на моем Linux Mint 15.CoffeeScript interactive

Да, CoffeeScript установлен. Я могу ввести форму интерактивного режима, просто набрав coffee на моей консоли (хотя и только однострочные выражения).

Я получил следующую ошибку и, по-видимому, параметр -r не распознается.

/usr/lib/node_modules/coffee-script/lib/coffee-script/optparse.js:51 
     throw new Error("unrecognized option: " + arg); 
      ^
Error: unrecognized option: -r 
    at OptionParser.exports.OptionParser.OptionParser.parse (/usr/lib/node_modules/coffee-script/lib/coffee-script/optparse.js:51:19) 
    at parseOptions (/usr/lib/node_modules/coffee-script/lib/coffee-script/command.js:464:29) 
    at Object.exports.run (/usr/lib/node_modules/coffee-script/lib/coffee-script/command.js:55:5) 
    at Object.<anonymous> (/usr/lib/node_modules/coffee-script/bin/coffee:7:41) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:902:3 

coffee -r ./prelude дать мне еще один вид интерактивного режима Ли (выражений многострочных возможно)? Возможно ли, что это проблема ОС?

+0

CoffeeScript версия 1.6.3, по-прежнему то же самое после обновления. –

+0

'coffee -h' не показывает никакого аргумента' -r'. Что именно вы ожидаете от запуска '-r./Prelude'? Может быть, документация, которую вы связываете, устарела? – Tharabas

+0

Возможно. Я читаю о CoffeeScript, используя [Smooth CoffeeScript] (http://autotelicum.github.io/Smooth-CoffeeScript/interactive/interactive-coffeescript.html). Этот ресурс либо устарел, либо автор реализовал свой собственный CoffeeScript. Поскольку я еще новичок, я недостаточно опытен, чтобы это определить. –

ответ

0

Сначала coffee -r/coffee --run использовался для запуска сценариев.

Он устарел от . 0,5.3 (issue/commit).


Затем coffee -r/coffee --require использовали требовать модулей.

Удалено с 1.5.0 (commit/issue).

@jashkenas говорит о том, что:

--require был первоначально, когда мы были обнадеживающими людей, чтобы «расширить» (читай, обезьяна-патч) внутренние классы компилятора для своих собственных целей. Это не очень хорошо работает, поэтому мы удалили его. Вместо этого вы можете просто потребовать() в своих файлах, как обычно, если вы используете их непосредственно с кофе. Если вы не используете их прямо с кофе, тогда это не имеет значения.

На данный момент, Coffescript версия 1.6.3, эта книга была написана, когда он был только 1.2.0.


Я могу рекомендовать эти электронные книги:

0

Файл `Прелюдия/prelude.coffee» начинается с:

# Usage: require './prelude' or on commandline: coffee -r ./prelude 
# This prelude is a learning environment for 'Smooth CoffeeScript'. 

Очевидно, что вариант -r означает require. Был ли это вариант командной строки в более раннем времени (smooth - это несколько лет), или является частью пользовательского coffee, я не знаю. В любом случае это не вариант для текущего coffee. Используйте coffee -h, чтобы увидеть текущее использование.

Так что вам нужно сделать, это ввести интерактивный кофе с coffee, а затем require <the prelude.coffee location>. prelude выполняет некоторые трюки и фактически ставит свои функции в глобальное пространство имен. С ним будет легче следовать примерам в книге, но это не должно использоваться как обычная часть вашей установки coffee.

show наиболее распространенная функция полезности, которую определяет prelude. Во многих случаях вы можете использовать вместо него console.log.