diff options
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 | |||