mvel
, o MVFLEX Expression Language ha un rich syntax, molti dei quali consentono di codice più conciso ed espressivo (e meno imperativo) di java
, ad esempio
- Stenografia per
get()
ters/set()
ters (ad esempio incapsulare campi privati) a cui accedere in una sintassi alternativa property
stile (simile a VB or C# properties in .Net)
es.invece di
myObject.setSomeField("SomeValue");
int x = myObject.getSomeIntField();
È possibile utilizzare la sintassi (si noti l'interruttore capitalizzazione sottile pure):
myObject.someField = "SomeValue"
x = myObject.someIntField // Type inferrence
- Il
return
dichiarazione è opzionale (una convenzione presente in molti linguaggi funzionali come Scala), come è il punto e virgola, a meno che non si dispone di più istruzioni per riga:
x // i.e. return x;
- creazione matrice Shorthand e indicizzazione da ordinale
foos = {2, 4, 6, 8, 10}
foos[3] // foos.get(3)
- Analogamente per mappe (dizionari)
bars = ["a" : "Apple", "b" : "Basket"] // Hashmap, with put
bars["a"]
bars.a // Similar to dynamically typed object e.g. in javascript, if key is a string.
- Null sicuro operatore di navigazione (come l'operatore null-condizionale in Rosyln)
foo.?bar.baz // if (foo.bar != null) { return foo.bar.baz; } else { return null; }