web-dev-qa-db-fra.com

Comment retourner un objet explicitement dans CoffeeScript

Cela marche:

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

Mais je veux être explicite sur le retour d'objet.

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

Mais j'obtiens l'erreur "Inattendu 'INDENT'". Quel est le problème avec le code ci-dessus?

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

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

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

vous devriez mettre la valeur de retour sur la même ligne ou l'envelopper dans ()

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

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

Je pense que le meilleur moyen est 

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

parce que cela correspond à la philosophie de la programmation fonctionnelle.

2
alsotang

Les réponses précédentes sont toutes correctes. Cela fonctionne aussi:

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