p.48 変数の命名ルール
・必須ルール(守らないと実行できない)とチームルール(エラーにはならないが推奨されない、現場で認められない)がある ・必須ルール ① 大文字、小文字、数字、_、2バイト文字からなる ② ただし、先頭文字は数字禁止 ③ 予約語(using、public、classなど)と重複は禁止 ・主なチームルール ① 2バイト文字は推奨されない ② 大文字小文字の使い分けルールに従う(例:変数名は小文字 など) ③ 特殊な場合を除いてアンダーバーは使わない。特に先頭には置かない ④ 小文字にすると予約語と一致する単語は使わない(例:Using、PUBLICなど) ⑤ 1文字の変数名は特別な意味を持つ変数には使わない。使い捨ての場合はOK(例:i,j,kは繰返しカウンタ専用)
p.50 スペースの入れどころ
・必須スペース(守らないと実行できない)と、推奨スペース(エラーにはならないが推奨される)がある
・予約語の前後のスペースは必須。
・演算子の前後のスペースは任意で、チームルールによって推奨されることが多い
例:「*」はC/C++でポインタを扱う場合(*C)と掛け算(A * B)で用いるので、見間違いやすい。
・また「{」「}」の前後に空白や改行が推奨される場合が多い
補足:変数名の長さ
・512文字程度が上限 ・C言語では「型が異なるものには異なる名前を付ける」原則があるので、名前が長くなりやすい ・しかし、C#/C++/Javaなどでは(後述するポリモフィズムにより)「型にかかわらず、同じ意味のものは同じ 名前にする」が原則なので、名前を長くすることは少ない。
p.52 パブリック変数とは
・プログラムは部品であるコンポーネント(モジュール)の組み合わせで実現されることが多い ・あるいは、複数のサブプログラムに分割してグループ開発することが多い ・複数の要素の間でデータを共有し受け渡す方法の一つがパブリック変数で「どこからも見える」存在になる ※ 見えてしまう、壊されやすいというデメリットもある ・Unityのスクリプトでは、クラスの先頭でパブリック変数を宣言することで「どこからも見える」変数になる ・宣言書式: public 型 変数名; //初期化も可能、複数記述も可能 ※ 実務ではテスト時のみ用い、完成時には残さないことが多い ・なお、Unityのスクリプトでclassの前にもpublicがあるのは、Unityシステムから見える必要があるから
p.53 Chap1_10_1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chap1_10_1 : MonoBehaviour {
public string text; //パブリック変数の宣言
void Start() {
Debug.Log( text ); //文字列変数の値を出力
}
void Update() {
}
}
補足:Inspectorのパブリック変数に対する動作
・スクリプトが保存されると、Unity側で解析し、パブリック変数があればInspectorに入力欄が用意される ・ユーザがInspectorから入力した内容は保持され、最優先で利用される ・よって、プログラム側で初期値を設定しても、入力値によって上書きされる
アレンジ演習:Chap1_10_1
・パブリック変数の宣言を初期化にして値を設定する ・実行前にInspectorで値を入力してから実行し、結果を確認しよう ・Inspectorで値を消しても、長さゼロの文字列が渡されてしまうことを確認しよう ・変数名を変更すると、初回扱いになり、初期値がInspectorに表示されることを確認しよう ・なお、プログラム内でパブリック変数に値を代入でき、Inspectorの値も書き変わる ・ただし、スクリプトを再保存すると、Inspectorの値は入力値に戻されてしまうことを確認しよう
作成例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chap1_10_1 : MonoBehaviour {
public string text2 = "ヴェルグリンド"; //パブリック変数の初期化
void Start() {
text2 = "セイラ";
Debug.Log( text2 ); //文字列変数の値を出力
}
void Update() {
}
}
アレンジ演習: p.46 chap1_8_2
・変数kakakuをパブリック変数にしよう ・そして、Inspectorで値を入力して動作を確認しよう
作成例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chap1_8_2 : MonoBehaviour {
public double kakaku = 100; //パブリックな実数型変数の初期化
void Start() {
double urine = kakaku * 1.08; //実数型変数の計算式による初期化
Debug.Log(urine); //実数型変数の値を出力
}
void Update() {
}
}
アレンジ演習: p.46 chap1_8_2 続き
・実数1.08をパブリック変数taxにしよう ・そして、Inspectorで2値を入力して動作を確認しよう
作成例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chap1_8_2 : MonoBehaviour {
public double kakaku = 100, tax; //パブリックな実数型変数の初期化と宣言
void Start() {
double urine = kakaku * tax; //実数型変数の計算式による初期化
Debug.Log(urine); //実数型変数の値を出力
}
void Update() {
}
}
提出:アレンジ演習: p.46 chap1_8_2 続き2
・税率を100分率で入力できるようにしよう ・例えば、8と入力したら価格を1.08倍した結果になること ・ヒント: 売値=価格×(100+税率)÷100