Как явно вернуть объект в CoffeeScript - PullRequest
43 голосов
/ 05 февраля 2011

Это работает:

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

Но я хочу быть явно о возвращении объекта.

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

Но я получаю ошибку "Неожиданный" INDENT ".Что не так с приведенным выше кодом?

Ответы [ 4 ]

89 голосов
/ 05 февраля 2011
myFunc = ->
  return {
    id   : 3
    name : 'myname'
  }

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

myFunc = ->
  # return
  id   : 3
  name : 'myname'
10 голосов
/ 05 февраля 2011

Вы должны поместить возвращаемое значение в ту же строку или обернуть его в ():

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

myFunc = () ->
  return (
    id: 3
    name: 'myname'
  )
2 голосов
/ 16 сентября 2012

Я думаю, что лучший способ это

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

потому что это соответствует философии функционального программирования.

1 голос
/ 18 марта 2012

Все предыдущие ответы верны. Это тоже работает:

myFunc = () -> 
    {
        id: 3
        name: 'myname'
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...