request: Multiple match patterns
Opened this issue · 0 comments
VorpalBlade commented
In rust you can write this:
match my_var {
"a" | "b" | "c" => do_something()
// ...
}
This disjunction syntax doesn't work in Rune though it seems which makes code needlessly verbose:
match os_id {
"arch" => {
settings.enable_pkg_backend("pacman")?;
settings.set_file_backend("pacman")?
}
"manjaro" => {
settings.enable_pkg_backend("pacman")?;
settings.set_file_backend("pacman")?
}
"debian" => {
settings.enable_pkg_backend("apt")?;
settings.set_file_backend("apt")?
}
"ubuntu" => {
settings.enable_pkg_backend("apt")?;
settings.set_file_backend("apt")?
}
"mint" => {
settings.enable_pkg_backend("apt")?;
settings.set_file_backend("apt")?
}
_ => return Err("Unsupported OS")?,
}
This would be much preferable:
match os_id {
"arch" | "manjaro" => {
settings.enable_pkg_backend("pacman")?;
settings.set_file_backend("pacman")?
}
"debian" | "ubuntu" | "mint" => {
settings.enable_pkg_backend("apt")?;
settings.set_file_backend("apt")?
}
_ => return Err("Unsupported OS")?,
}