aboutsummaryrefslogtreecommitdiff
path: root/spec/inputs/unicode/switch.yue
diff options
context:
space:
mode:
Diffstat (limited to 'spec/inputs/unicode/switch.yue')
-rw-r--r--spec/inputs/unicode/switch.yue161
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 @@
1switch 值
2 when "酷"
3 打印 "你好,世界"
4
5switch 值
6 when "酷"
7 打印 "你好,世界"
8 else
9 打印 "好的,很棒"
10
11switch 值
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
30with 东西
31 switch \值!
32 when .确定
33 变量_ = "世界"
34 else
35 变量_ = "是的"
36
37修复 这个
38call_func switch 某物
39 when 1 then "是"
40 else "否"
41
42--
43
44switch 嗨
45 when 你好 or 世界
46 变量_ = 绿色
47
48--
49
50switch 嗨
51 when "一个", "两个"
52 打印 "酷"
53 when "爸爸"
54 变量_ = 否
55
56switch 嗨
57 when 3+1, 你好!, (-> 4)!
58 变量_ = 黄色
59 else
60 打印 "酷"
61
62do
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
79do
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
106do
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
123do
124 表格 = 变量x: "abc"
125 switch 表格
126 when :变量x, :变量y
127 打印 "变量x: #{变量x} 和 变量y: #{变量y}"
128 when :变量x
129 打印 "只有 变量x: #{变量x}"
130
131do
132 匹配 = switch 表格
133 when 1
134 "1"
135 when :变量x
136 变量x
137 when false
138 "false"
139 else
140 nil
141
142do
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
155do
156 switch 变量y
157 when {变量x: <>: 表}
158 打印 表
159
160nil
161