Menu
CoddyTech

デフォルト値

CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 57/92。

パラメーターにはデフォルト値を設定できます。宣言時に=を使って記述します。その場合、呼び出し時にその引数を省略すると、パラメーターにはデフォルト値が設定されます。

func greet(player, greeting = "Hello"):
	print(greeting, ", ", player, "!")
greet("Ana")
greet("Ana", "Welcome back")
Hello, Ana!
Welcome back, Ana!

最初の呼び出しでは引数を1つ渡すため、greetingは"Hello"になります。2回目の呼び出しでは独自の値を渡し、それがデフォルト値を置き換えます。

関数には複数のデフォルト値を設定でき、型付きパラメーターにも設定できます。

func spawn(enemy: String, count: int = 1, speed: float = 2.5) -> void:
	print(count, " x ", enemy, " at speed ", speed)

spawn("bat") は 1 x bat at speed 2.5 を出力し、spawn("bat", 3) は 3 x bat at speed 2.5 を出力します。引数は引き続き順番にパラメーターに割り当てられるため、count も渡さずに speed を渡すことはできません。

デフォルト値を持つパラメーターは、デフォルト値を持たないパラメーターの後に置く必要があります。func greet(greeting = "Hello", player): はエラーです:「省略可能なパラメーターの後に必須パラメーターを置くことはできません」。

challenge icon

チャレンジ

簡単

プログラムはプレイヤー名を読み取り、playerに格納します。

  1. _ready()の下に、2つのパラメーターを持つgreet関数を宣言します。パラメーターはplayer_nameと、デフォルト値が"Hello"のgreetingです。この関数は、挨拶、カンマとスペース、名前、そして!を出力します。
  2. _ready()内で、まずgreet(player)を呼び出し、次にgreet(player, "Welcome back")を呼び出します。

入力がAnaの場合、出力は次のとおりです。

Hello, Ana!
Welcome back, Ana!

自分で試してみよう

extends Node

func _ready():
	var player := OS.read_string_from_stdin()
	# greet(player) を呼び出し、次に greet(player, "Welcome back") を呼び出す

# デフォルトの挨拶を "Hello" にして、以下に greet() を宣言する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ