v2 / vlib / v / fmt / tests / match_range_expression_branches_keep.vv
24 lines · 22 sloc · 448 bytes · 8e35f4d9848f7ad35d857a187dddbfd2eca5e19d
Raw
1pub fn str_escaped(b u8) string {
2 str := match b {
3 0 { '`\\' + '0`' } // Bug is preventing \\0 in a literal
4 7 { '`\\a`' }
5 8 { '`\\b`' }
6 9 { '`\\t`' }
7 10 { '`\\n`' }
8 11 { '`\\v`' }
9 12 { '`\\f`' }
10 13 { '`\\r`' }
11 32...126 { b.str() }
12 else { '0x' + b.hex() }
13 }
14
15 return str
16}
17
18fn match_index_range_expr(var string) {
19 println(match true {
20 var.len < 3 { 'i#' + var }
21 var[1..2].contains('#') { var }
22 else { 'i#' + var }
23 })
24}
25