是否将CoffeeScript代码转换为LiveScript?

是否将CoffeeScript代码转换为LiveScript?,coffeescript,livescript,Coffeescript,Livescript,我有这个有效的咖啡脚本,并希望将其转换为LiveScript。有人能解释为什么它不能转换吗?还要换一个吗 TodoCtrl = (scope) -> scope.addTodo = -> scope.todos.push text: scope.todoText done: false scope.todoText = '' 您可以使用它来编译CoffeeScript 您可以使用它来编译LiveScript 您正在对以隐式对象开头的隐式

我有这个有效的咖啡脚本,并希望将其转换为LiveScript。有人能解释为什么它不能转换吗?还要换一个吗

TodoCtrl = (scope) ->
  scope.addTodo = ->
    scope.todos.push
      text: scope.todoText
      done: false
    scope.todoText = ''
您可以使用它来编译CoffeeScript

您可以使用它来编译LiveScript


您正在对以隐式对象开头的隐式块调用函数
scope.todos.push
。您必须在LiveScript中使用
do
,因为它不能处理这种特殊情况(只需将
do
看作块周围的括号)。原因见

所需的代码:

TodoCtrl = (scope) ->
  scope.addTodo = ->
    scope.todos.push do
      text: scope.todoText
      done: false
    scope.todoText = ''
这相当于(即
do
仅为括号)


很高兴看到您使用LiveScript

谢谢!对于我的新项目,我将LiveScript/AngularJS/Brunch.io(使用NodeJS)结合起来,因为在我看来,这些都是目前最好的。
TodoCtrl = (scope) ->
  scope.addTodo = ->
    scope.todos.push(
      text: scope.todoText
      done: false
    )
    scope.todoText = ''