Бесполезно размышляю от ученика Scala, но ... в своих работах я написал следующее:
( n.child.size > 0 ) && ( n.child.filter( ! _.isInstanceOf[Text] ).size == 0 )
('n' - это scala.xml.Node, но это не важноНе является особой логикой.)
Дважды вызвать child () не так уж хорошо, поэтому я собирался изменить это:
val list = n.child
( list.size > 0 ) && ( list.filter( ! _.isInstanceOf[Text] ).size == 0 )
Но, учитывая, сколько я пришелЯ очень признателен за возможность применения filter (), map () и т. д. без необходимости объявления промежуточных переменных.Это так ... так ... так ява!: p
Увы, копаясь в SO и Google и ScalaDocs (особенно Any и AnyRef) и The Book не нашел ничего подходящего.Возможно, я надеялся на что-то вроде:
n.child{ list => ( list.size > 0 ) && ( list.filter( ! _.isInstanceOf[Text] ).size == 0 ) }
или даже
n.child.with{ list => ... }
Существует ли что-то подобное?Или я просто попадаю в пыл с переменным бездействием?