katsaii / catspeak-lang

A cross-platform modding language for GameMaker games.
https://www.katsaii.com/catspeak-lang/
MIT License
92 stars 6 forks source link

Implement `switch` statements #83

Closed LocalInsomniac closed 1 year ago

LocalInsomniac commented 1 year ago

What is your feature request?

Catspeak 3 Beta 3 only has if-else, which can hurt readability for larger code when it comes to checking multiple values. By implementing switch, this would allow Catspeak users to replace several nested if-else statements and thus improve the readability of their code.

Please describe in detail how you expect this new feature to behave.

A switch statement would be generally done like in any other language (such as GML):

let result = 0

switch self.val {
    case 0:
        result += 1

    case 1:
        result += 2
        break

    default:
    case 2:
        result += 3
        break
}