virtualx-engine/modules/gdscript/tests/scripts/parser/features/advanced_expression_matching.gd

35 lines
756 B
GDScript3
Raw Normal View History

2021-08-25 15:42:48 +02:00
func foo(x):
match x:
1 + 1:
print("1+1")
[1,2,[1,{1:2,2:var z,..}]]:
print("[1,2,[1,{1:2,2:var z,..}]]")
print(z)
1 if true else 2:
print("1 if true else 2")
1 < 2:
print("1 < 2")
1 or 2 and 1:
print("1 or 2 and 1")
6 | 1:
print("1 | 1")
1 >> 1:
print("1 >> 1")
1, 2 or 3, 4:
print("1, 2 or 3, 4")
_:
print("wildcard")
func test():
foo(6 | 1)
foo(1 >> 1)
foo(2)
foo(1)
foo(1+1)
foo(1 < 2)
foo([2, 1])
foo(4)
foo([1, 2, [1, {1 : 2, 2:3}]])
foo([1, 2, [1, {1 : 2, 2:[1,3,5, "123"], 4:2}]])
foo([1, 2, [1, {1 : 2}]])