diff options
| author | Li Jin <dragon-fly@qq.com> | 2023-08-17 10:36:15 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2023-08-17 10:36:15 +0800 |
| commit | e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d (patch) | |
| tree | 6e7c5e7e6f13157e9f8db26c38f6d8cba75683e5 /spec/inputs/unicode/switch.yue | |
| parent | 289faf45ac26f7e0ac1a1e4305e5c42fc1e5b866 (diff) | |
| download | yuescript-e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d.tar.gz yuescript-e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d.tar.bz2 yuescript-e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d.zip | |
add unicode identifier support, fix more issue from #144
Diffstat (limited to 'spec/inputs/unicode/switch.yue')
| -rw-r--r-- | spec/inputs/unicode/switch.yue | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/spec/inputs/unicode/switch.yue b/spec/inputs/unicode/switch.yue new file mode 100644 index 0000000..aa8ea74 --- /dev/null +++ b/spec/inputs/unicode/switch.yue | |||
| @@ -0,0 +1,161 @@ | |||
| 1 | switch 值 | ||
| 2 | when "酷" | ||
| 3 | 打印 "你好,世界" | ||
| 4 | |||
| 5 | switch 值 | ||
| 6 | when "酷" | ||
| 7 | 打印 "你好,世界" | ||
| 8 | else | ||
| 9 | 打印 "好的,很棒" | ||
| 10 | |||
| 11 | switch 值 | ||
| 12 | when "酷" | ||
| 13 | 打印 "你好,世界" | ||
| 14 | when "是的" | ||
| 15 | 变量_ = [[FFFF]] + [[MMMM]] | ||
| 16 | when 2323 + 32434 | ||
| 17 | 打印 "好的" | ||
| 18 | else | ||
| 19 | 打印 "好的,很棒" | ||
| 20 | |||
| 21 | 输出 = switch 值 | ||
| 22 | when "酷" then 打印 "你好,世界" | ||
| 23 | else 打印 "好的,很棒" | ||
| 24 | |||
| 25 | 输出 = switch 值 | ||
| 26 | when "酷" then 变量x | ||
| 27 | when "哦" then 34340 | ||
| 28 | else error "这大大地失败了" | ||
| 29 | |||
| 30 | with 东西 | ||
| 31 | switch \值! | ||
| 32 | when .确定 | ||
| 33 | 变量_ = "世界" | ||
| 34 | else | ||
| 35 | 变量_ = "是的" | ||
| 36 | |||
| 37 | 修复 这个 | ||
| 38 | call_func switch 某物 | ||
| 39 | when 1 then "是" | ||
| 40 | else "否" | ||
| 41 | |||
| 42 | -- | ||
| 43 | |||
| 44 | switch 嗨 | ||
| 45 | when 你好 or 世界 | ||
| 46 | 变量_ = 绿色 | ||
| 47 | |||
| 48 | -- | ||
| 49 | |||
| 50 | switch 嗨 | ||
| 51 | when "一个", "两个" | ||
| 52 | 打印 "酷" | ||
| 53 | when "爸爸" | ||
| 54 | 变量_ = 否 | ||
| 55 | |||
| 56 | switch 嗨 | ||
| 57 | when 3+1, 你好!, (-> 4)! | ||
| 58 | 变量_ = 黄色 | ||
| 59 | else | ||
| 60 | 打印 "酷" | ||
| 61 | |||
| 62 | do | ||
| 63 | 字典 = { | ||
| 64 | {} | ||
| 65 | {1, 2, 3} | ||
| 66 | 变量a: 变量b: 变量c: 1 | ||
| 67 | 变量x: 变量y: 变量z: 1 | ||
| 68 | } | ||
| 69 | |||
| 70 | switch 字典 | ||
| 71 | when { | ||
| 72 | 第一 | ||
| 73 | {一个, 两个, 三个} | ||
| 74 | 变量a: 变量b: :变量c | ||
| 75 | 变量x: 变量y: :变量z | ||
| 76 | } | ||
| 77 | 打印 第一, 一个, 两个, 三个, 变量c, 变量z | ||
| 78 | |||
| 79 | do | ||
| 80 | 物品 = | ||
| 81 | * 变量x: 100 | ||
| 82 | 变量y: 200 | ||
| 83 | * 宽度: 300 | ||
| 84 | 高度: 400 | ||
| 85 | * false | ||
| 86 | |||
| 87 | for 物 in *物品 | ||
| 88 | switch 物 | ||
| 89 | when :变量x, :变量y | ||
| 90 | 打印 "Vec2 #{变量x}, #{变量y}" | ||
| 91 | when :宽度, :高度 | ||
| 92 | 打印 "Size #{宽度}, #{高度}" | ||
| 93 | when false | ||
| 94 | 打印 "没有" | ||
| 95 | when __类: 类 | ||
| 96 | switch 类 | ||
| 97 | when 类别A | ||
| 98 | 打印 "对象 A" | ||
| 99 | when 类别B | ||
| 100 | 打印 "对象 B" | ||
| 101 | when <>: 表 | ||
| 102 | 打印 "带有元表的表" | ||
| 103 | else | ||
| 104 | 打印 "物品不被接受!" | ||
| 105 | |||
| 106 | do | ||
| 107 | 表格 = {} | ||
| 108 | |||
| 109 | switch 表格 | ||
| 110 | when {:变量a = 1, :变量b = 2} | ||
| 111 | 打印 变量a, 变量b | ||
| 112 | |||
| 113 | switch 表格 | ||
| 114 | when {:变量a, :变量b = 2} | ||
| 115 | 打印 "部分匹配", 变量a, 变量b | ||
| 116 | |||
| 117 | switch 表格 | ||
| 118 | when {:变量a, :变量b} | ||
| 119 | 打印 变量a, 变量b | ||
| 120 | else | ||
| 121 | 打印 "没有匹配" | ||
| 122 | |||
| 123 | do | ||
| 124 | 表格 = 变量x: "abc" | ||
| 125 | switch 表格 | ||
| 126 | when :变量x, :变量y | ||
| 127 | 打印 "变量x: #{变量x} 和 变量y: #{变量y}" | ||
| 128 | when :变量x | ||
| 129 | 打印 "只有 变量x: #{变量x}" | ||
| 130 | |||
| 131 | do | ||
| 132 | 匹配 = switch 表格 | ||
| 133 | when 1 | ||
| 134 | "1" | ||
| 135 | when :变量x | ||
| 136 | 变量x | ||
| 137 | when false | ||
| 138 | "false" | ||
| 139 | else | ||
| 140 | nil | ||
| 141 | |||
| 142 | do | ||
| 143 | return switch 表格 | ||
| 144 | when nil | ||
| 145 | "无效" | ||
| 146 | when :变量a, :变量b | ||
| 147 | "#{变量a + 变量b}" | ||
| 148 | when 1, 2, 3, 4, 5 | ||
| 149 | "数字 1 - 5" | ||
| 150 | when {:匹配任何表格 = "后备"} | ||
| 151 | 匹配任何表格 | ||
| 152 | else | ||
| 153 | "除非它不是一个表格,否则不应到达这里" | ||
| 154 | |||
| 155 | do | ||
| 156 | switch 变量y | ||
| 157 | when {变量x: <>: 表} | ||
| 158 | 打印 表 | ||
| 159 | |||
| 160 | nil | ||
| 161 | |||
