mvel
oder MVFLEX Expression Language hat ein rich syntax, von denen viele für prägnanten und Ausdruckscode ermöglichen (und weniger zwingend notwendig) als java
, z.B.
- Abkürzung für
get()
ters/set()
ters (z.B. private Felder Einkapselung) in einer alternativen property
style Syntax (ähnlich VB or C# properties in .Net)
dh zugegriffen werden soll.statt
myObject.setSomeField("SomeValue");
int x = myObject.getSomeIntField();
Sie können die Syntax verwenden (beachten Sie die subtilen Kapitalisierung Schalter als auch):
myObject.someField = "SomeValue"
x = myObject.someIntField // Type inferrence
- Die
return
Anweisung ist optional (eine Konvention in vielen funktionalen Sprachen wie Scala gefunden), wie das Semikolon, wenn Sie mehrere Anweisungen pro Zeile haben:
x // i.e. return x;
- Stenografie Array-Erstellung und Indizieren von ordinal
foos = {2, 4, 6, 8, 10}
foos[3] // foos.get(3)
- Ähnlich für Karten (Wörterbücher)
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 sichere Navigation Operator (wie die Nullbedingungsoperator in Rosyln)
foo.?bar.baz // if (foo.bar != null) { return foo.bar.baz; } else { return null; }