web-dev-qa-db-ja.com

CoffeeScriptでオブジェクトを明示的に返す方法

これは機能します:

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

しかし、私はオブジェクトを返すことについて明確にしたいと思います。

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

しかし、「予期しない 'INDENT'」エラーが発生します。上記のコードの何が問題になっていますか?

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

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

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

戻り値を同じ行に置くか、()でラップする必要があります。

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

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

最善の方法は

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

関数型プログラミングの哲学に合うからです。

2
alsotang

以前の答えはすべて正しいです。これも機能します:

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