1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

GDScript: Add support for variadic functions

This commit is contained in:
Danil Alexeev
2025-03-30 12:59:05 +03:00
parent 3b963ab8b6
commit ee121ef80e
33 changed files with 416 additions and 65 deletions

View File

@@ -0,0 +1,38 @@
class A:
func f(x: int) -> void:
print(x)
class B extends A:
func f(x: int, ...args: Array) -> void:
prints(x, args)
class C extends B:
func f(x: int, y: int = 0, ...args: Array) -> void:
prints(x, y, args)
class D extends C:
func f(...args: Array) -> void:
print(args)
func test_func(x: int, y: int = 0, ...args: Array) -> void:
prints(x, y, args)
var test_lambda := func (x: int, y: int = 0, ...args: Array) -> void:
prints(x, y, args)
func test():
for method in get_method_list():
if str(method.name).begins_with("test_"):
print(Utils.get_method_signature(method))
test_func(1)
test_func(1, 2)
test_func(1, 2, 3)
test_func(1, 2, 3, 4)
test_func(1, 2, 3, 4, 5)
test_lambda.call(1)
test_lambda.call(1, 2)
test_lambda.call(1, 2, 3)
test_lambda.call(1, 2, 3, 4)
test_lambda.call(1, 2, 3, 4, 5)