mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 23:21:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			873 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			873 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
# https://github.com/godotengine/godot/issues/56702
 | 
						|
 | 
						|
func test():
 | 
						|
	const_default()
 | 
						|
	func_result_default()
 | 
						|
	# calling again will run the initializer again,
 | 
						|
	# as the default is not evaluated at time of defining the function (as in python)
 | 
						|
	# but every time the function is called (as in C++)
 | 
						|
	func_result_default()
 | 
						|
	lots_of_defaults("non-optional")
 | 
						|
	# somewhat obscure feature: referencing earlier parameters
 | 
						|
	ref_default("non-optional", 42)
 | 
						|
 | 
						|
 | 
						|
func const_default(param=42):
 | 
						|
	print(param)
 | 
						|
 | 
						|
 | 
						|
var default_val := 0
 | 
						|
 | 
						|
func get_default():
 | 
						|
	default_val += 1
 | 
						|
	return default_val
 | 
						|
 | 
						|
 | 
						|
func func_result_default(param=get_default()):
 | 
						|
	print(param)
 | 
						|
 | 
						|
 | 
						|
func lots_of_defaults(nondefault, one=1, two=2, three=get_default()):
 | 
						|
	prints(nondefault, one, two, three)
 | 
						|
 | 
						|
 | 
						|
func ref_default(nondefault1, nondefault2, defa=nondefault1, defb=nondefault2 - 1):
 | 
						|
	prints(nondefault1, nondefault2, defa, defb)
 |