content: for (item in lista where item.id.length>4) { item }
Esto devuelve una secuencia de objetos cuyo id tenga mayor longitud de cuatro para la propiedad content de algún nodo. (Utiliza un modo parecido a sql con las secuencias). También se puede utilizar for como una sentencia como se hace de manera habitual en todos los lenguajes de programación:
for (n in [1..5]) {java.lang.System.out.println(n);}
En algunas situaciones me he preguntado como utilizar una expresión del tipo x?y:z que se utiliza en otros lenguajes (unos cuantos) para asignar un valor aplicando una condición tipo if(x) {y} else {z}. Bien, buscando en Google se me dirige al señor James Weaver y lo deja bien clarito. Tanto for como if se pueden utilizar en modo de sentencia o en modo expresión. Quiere esto decir que tienen la utilidad esperada de un lenguaje de programación y además nos sirven para asignar valores. En el caso de if podríamos utilizar:
var x:Number = if (a<=3) 34 else 23;
Que asigna el valor 34 a x siempre que a sea menor o igual que 3 y 23 en caso contrario. Siempre hay que poner entre paréntesis las condiciones del if. Esta simplificación del lenguaje seguramente tendrá detractores entre la gente sesuda pero sin duda es una simplificación sin pérdida de funcionalidad para el programador de RIA que requiere un lenguaje de script ágil. Cuando se utiliza if para asignación no se deben utilizar llaves.