gemelen: (Default)
[personal profile] gemelen
Сводя к минимуму встретившуюся ситуацию, получаем такой groovy-код:
  class B {List xs}

  def a = [1,2,null, 3]
  def b = new B()
  b.xs = a

  def c = b.xs.sum {i = it -> i != null ? i : 0}
  println c
// 6

Однако, переходя в реальный код, когда объекты чуть сложнее слабанного на коленке, получаем уже мистическую картину.
  // структура из распарсенного xml
  // a.b.c.d.e, где e - интовое поле
  result = a.b?.c?.sum 
{ i = it?.d?.e  
  -> 
  i != null 
    ? i 
    : 0 
}

Вуаля, в i у нас нифига не e, а как раз самое d и поэтому видим КРОВЬКИШКИ. Чинится банально, хоть и не так выпендрёжно.
  result = a.b?.c?.sum 
{ it?.d?.e != null 
? it?.d?.e 
: 0 }

Profile

gemelen: (Default)
gemelen

June 2025

M T W T F S S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 5th, 2026 09:51
Powered by Dreamwidth Studios