But we already have @Lazy which is a bit more explicit?

Le sam. 17 mars 2018 à 08:35, Daniel.Sun <sun...@apache.org> a écrit :

> Hi all,
>
>        Sometimes we do not want evaluate some expression eagerly(Maybe
> evaluation is expensive), e.g. a table contains a field `records` whose
> content is queried from DB, but we do not get the content of `records`
> eagerly util we access `records`.
>
> class SomeTable {
>        def records = ( doQueryFromDB() )   // the expression in the
> parentheses will be evaluated lazily
>        def sum() {
>              // access the methods or fields of `records`, trigger
> evaluation, i.e. the query of DB
>        }
>        def getRecords() {
>              return records // do NOT trigger evaluation
>         }
> }
>
>          Lazy evaluation syntax is very simple( just supports 1) and 2) ):
> 1) def v = ( someExpression() )  // Lazy evaluation for variable
> declaration
> 2)  v = ( someExpression )          // Lazy evaluation for assignment
> 3)  println(( someExpression )) // NOT lazy evaluation
>
>            Any thoughts?
>
> Cheers,
> Daniel.Sun
>
>
>
> --
> Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html
>

Reply via email to