[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart15 (1002レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
582
: 01/16(木)01:34
ID:O3kqNZlS(1)
AA×
[
240
|320|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
582: [sage] 2025/01/16(木) 01:34:56.50 ID:O3kqNZlS 質問ありがとうございます。関数を整理してサブ関数に分けると、スコープの問題で参照できない変数が出てくることはよくあります。まず、問題の状況を整理しましょう。 メイン関数内で宣言した変数をサブ関数で参照したい サブ関数ではその変数がスコープ外になってしまう 解決策 引数を使う方法 サブ関数に必要な変数を引数として渡す方法です。これが一般的な方法です。 戻り値を使う方法 サブ関数で変数の値を変更する必要がある場合は、サブ関数からその値を戻り値として返し、メイン関数で受け取ることもできます。 クラスやオブジェクトを使う方法 もし、複数の変数や状態を管理したい場合は、クラスを使うことを検討できます。クラス内でメンバ変数を定義し、その変数をサブ関数(メソッド)から操作する方法です。 グローバル変数の使用(注意が必要) グローバル変数を使う方法もありますが、これには注意が必要です。グローバル変数はスコープが広く、意図しない副作用を引き起こす可能性があるため、可能な限り避ける方が良いです。ただし、どうしても必要な場合は global を使って明示的に指定できます。 http://mevius.5ch.net/test/read.cgi/gamedev/1730456094/582
質問ありがとうございます関数を整理してサブ関数に分けるとスコープの問題で参照できない変数が出てくることはよくありますまず問題の状況を整理しましょう メイン関数内で宣言した変数をサブ関数で参照したい サブ関数ではその変数がスコープ外になってしまう 解決策 引数を使う方法 サブ関数に必要な変数を引数として渡す方法ですこれが一般的な方法です 戻り値を使う方法 サブ関数で変数の値を変更する必要がある場合はサブ関数からその値を戻り値として返しメイン関数で受け取ることもできます クラスやオブジェクトを使う方法 もし複数の変数や状態を管理したい場合はクラスを使うことを検討できますクラス内でメンバ変数を定義しその変数をサブ関数メソッドから操作する方法です グローバル変数の使用注意が必要 グローバル変数を使う方法もありますがこれには注意が必要ですグローバル変数はスコープが広く意図しない副作用を引き起こす可能性があるため可能な限り避ける方が良いですただしどうしても必要な場合は を使って明示的に指定できます
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 420 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.041s