заводной способ if (var) fn (var) - PullRequest
2 голосов
/ 20 мая 2011

я хочу знать, есть ли какой-нибудь более удобный способ кода ниже:

def dataList = OperLog.createCriteria().list(max:params.max, offset:params.offset) {
    if(params.relationId){
      eq('relationId',params.long('relationId'))
    }
    order(params.sort, params.order)
}

, например someVar?

Ответы [ 2 ]

5 голосов
/ 20 мая 2011

Вы можете сделать:

params.relationId?.with { rid ->
  println rid
}

И код внутри блока with не будет выполнен, если params.relationId равен null ...

Тем не менее, я бы сказал, что ваш оригинальный код более очевиден в своих намерениях, и вам не придется пытаться понять, что он делает, когда вы придете, чтобы просмотреть его позже; -)

0 голосов
/ 01 июня 2011

Есть ли какой-нибудь отличный стиль этого?

def list = [vo1,vo2,vo3]
list.each{
   someMethod(it)
}

так же, как

list*.toString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...