46

This works:

myfunc = () ->
    id: 3
    name: 'myname'

But I want to be explicit about returning object.

myfunc = () ->
    return
        id: 3
        name: 'myname'

But I get "Unexpected 'INDENT'" error. What's wrong with the above code?

4

4 回答 4

92
myFunc = ->
  return {
    id   : 3
    name : 'myname'
  }

myFunc = ->
  return {} =
    id   : 3
    name : 'myname'

myFunc = ->
  # return
  id   : 3
  name : 'myname'
于 2011-02-05T16:25:38.540 回答
10

您应该将返回值放在同一行或将其包装在()

myFunc = () ->
  return id:3, name:'myname'

myFunc = () ->
  return (
    id: 3
    name: 'myname'
  )
于 2011-02-05T16:09:43.763 回答
2

我认为最好的方法是

myFunc = ->
  return (
    id: 3
    name: 'myname'
  )

因为它符合函数式编程的哲学。

于 2012-09-16T06:57:43.590 回答
1

前面的答案都是正确的。这也有效:

myFunc = () -> 
    {
        id: 3
        name: 'myname'
    }
于 2012-03-18T16:25:38.873 回答