Skip to content

[Feature] implement match or switch #1108

@Tirito6626

Description

@Tirito6626

current if-chain solution for matching variables is expensive in terms of performance:

if {
                arg == "-V" or arg == "--version": show_version()
                arg == "-h" or arg == "--help": show_help()
                arg == "-v" or arg == "--verbose": VERBOSE = true
                else {
                    error("Invalid argument: {arg}")?
                }
} 
Image

not only it has to execute every [ ] command for text match but also uses subshells, which drastically decreases the overall performance

the syntax can be the same as rust's match or C's switch and will generate bash's case block which supports both multiple values and wildcards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions