43 votes

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?

89voto

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

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

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

10voto

Adrien Points 5142

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'
  )
 

2voto

alsotang Points 111

Je pense que le meilleur moyen est

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

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

1voto

Tim Scott Points 7043

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X