2017-01-06 1 views
1

種類問題の方法は、誰もがGrailsのでデフ機能/ Grailsの

def login = { 

    //some codes here 

} 

def login() { 

    //some codes here 

} 

の違いを説明することができます。ありがとう!

+0

申し訳ありませんが、私はちょうどgroovyとgrailsプログラミングの新しさです。 – Raven

+0

http://stackoverflow.com/questions/9205209/why-should-grails-actions-be-declared-as-methods-instead-of-closures-and-what-di – Vahid

+0

ほとんどの場合、メソッド非常に特殊な用途がない限り、クロージャの代わりにクロージャのアクションを推奨することはなく、将来のバージョンでも削除される可能性があります。 –

答えて

4

def login() { .. }は、def login = { ... }がクロージャである間の方法です。以前のバージョンのGrailsコントローラではアクションのクロージャを使用し、それ以降のバージョンではメソッドを使用していました(この違いがありそうです)。

詳細は、Groovyクロージャを参照してください。

+0

そして、メソッドはクロージャよりもアクションとして好まれます。 –

+1

これは解決しようとしている問題によって異なります。クロージャはメソッドとは異なり、したがって異なる方法で使用できます。クロージャーを使用する理由がない限り、メソッドを使用するだけです。それが私の個人的なアドバイスです。 –

+0

うん、それは私が言っていることですが、ほとんどの状況ではメソッドはクロージャーよりも優先されますし、grailsチームがメソッドを使うことに決めた理由 –

関連する問題