File: params_default_values.gd

package info (click to toggle)
godot 4.4.1%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 229,428 kB
  • sloc: cpp: 1,657,504; ansic: 186,969; xml: 153,923; cs: 36,104; java: 29,122; python: 15,230; javascript: 6,211; yacc: 4,115; pascal: 818; objc: 459; sh: 459; makefile: 109
file content (35 lines) | stat: -rw-r--r-- 873 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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)