変数

すべてのプログラミング言語において、変数は値や参照を保存するために使用されます。たとえば、「現在のスコア」や「インベントリ内のアイテムへの参照」が該当します。

変数にはわかりやすい名前を付けることが推奨されます。名前は小文字で記述し、単語はアンダースコアでつなぎます。以下は変数宣言の例です:
var score = 0
var remaining_fuel = 99.9
var paused = false
var player_name = ""
var selected_weapon
var starting_grid_position
一部の変数はまだ値が設定されておらず、異なる型の値を代入することができます。
基本的なデータ型
説明
int
64ビット符号付き整数
-12, 54, 0xAF
float
浮動小数点数
1.23, 1e6
bool
真偽値
true, false
String
文字列または文字の並び
"Hello World"


バリアント型 最初の例では、変数には任意の型の値を代入でき、後で別の型の値に変更することも可能です。このような変数は「バリアント(Variant)」と呼ばれます。

この方法では、変数の宣言を迅速かつ簡単にコーディングできます。


型付き変数 変数が受け入れる値の型を宣言する方法もあります。この方法には、バグを減らし、コードを入力する際にエディタから支援や警告を受けるという利点があります。

型付き変数を宣言する方法は次の2つです:
# 方法1
var score: int = 0
var remaining_fuel: float = 99.9
var paused: bool = false
var player_name: String = ""

# 方法2(型の推論を使用)
var my_int := 8
var size := 32.6
var running := true
var name := ""
この方法を「静的型付け(Static Typing)」と呼びます。一方で、前述のバリアント型を使用する方法は「動的型付け(Dynamic Typing)」と呼びます。プログラム内で両方を好きなように組み合わせて使用できます。


変数のスコープ スコープとは、変数にアクセス可能なプログラムコードの範囲を指します。エディタではテキストのインデントレベルによってスコープが定義され、これらの領域は折りたたんだり展開したりできます。

グローバルスコープでは、変数がすべての場所で利用可能です(例: Autoloadファイルで宣言された場合)。一方、ローカルスコープは、変数の宣言後にその関数内でのみ使用可能です。

変数のスコープをできるだけ小さく保つことは、バグを減らし、外部変数に依存しない自己完結型の機能を作成するのに役立ちます。
以下は、グローバルスコープとローカルスコープの例です:
extends Node2D

# scoreはこのコードモジュール全体で使用可能(グローバルスコープ)
var score = 5

# スコアにポイントを加えるための関数
func add_to_score(points):
# pointsは外部から渡されるローカルスコープの変数
score = score + points

# シーンが実行される際に呼び出される関数
func _ready():
add_to_score(1)
# scoreはこのコードブロック内でもアクセス可能
print(score) # 6を出力
グローバルスコープを多用し、ローカルスコープで誤って同じ名前の変数を再宣言してしまうと、バグが発生する可能性があります。以下はその例です:
extends Node2D

var score = 5
var new_score

func add_to_score(points):
# new_scoreをローカルスコープで誤って再宣言
var new_score = score + points

func _ready():
add_to_score(1)
# new_scoreは設定されていない
print(new_score) # nullを出力


練習 静的型付けと動的型付けの両方の変数を宣言してみましょう。それぞれの値を出力し、スコープに関連する概念を実験して理解を深めてください。
最終更新日: 2024/12/27 02:06

コメント