Added more syntax improvements!
Else if: Added support for else if, which replaces big blocks
//Before:
if(triangles[14].y1 >= 15) {
looks::say(">=15");
} else {
if(triangles[14].y2 >= 155) {
looks::say("<=15");
} else {
looks::say("Both false!");
}
}
//After:
if(triangles[14].y1 >= 15) {
looks::say(">=15");
} else if(triangles[14].y2 >= 155) {
looks::say("<=15");
} else {
looks::say("Both false!");
}
Compound assignment: Added support for compound assignment
//Before:
triangles[15].y3 = triangles[15].y3 + 5;
//After:
triangles[15].y3 += 5;
Enums: Added support for enums, which are just fancy integer wrappers
enum TriangleRenderMode(OFF, RENDER, ITHINK);
TriangleRenderMode mode = TriangleRenderMode.OFF;
When: Added support for when expressions/statements that allow for matching a subject:
//Before:
if(answer == "off") {
mode = TriangleRenderMode.OFF;
} else if(answer == "render") {
mode = TriangleRenderMode.RENDER;
} else {
mode = TriangleRenderMode.ITHINK;
looks::say("If thinking is your power, what are you without it?");
return;
}
//After:
TriangleRenderMode mode = when(answer) {
"off" -> TriangleRenderMode.OFF
"render" -> TriangleRenderMode.RENDER
else -> {
looks::say("If thinking is your power, what are you without it?");
TriangleRenderMode.ITHINK;
}
};
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.