Подтвердить что ты не робот

Как явно вернуть объект в CoffeeScript

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

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

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

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

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

4b9b3361

Ответ 1

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

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

myFunc = ->
  # return
  id   : 3
  name : 'myname'

Ответ 2

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

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

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

Ответ 3

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

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

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

Ответ 4

Предыдущие ответы правильны. Это тоже работает:

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