開発者コンソールでの練習
学習の目的
この単元を完了すると、次のことができるようになります。
- よく使用されるデータ型を挙げる。
- 変数を宣言する。
- debug ステートメントを作成し、その結果を説明する。
- 構文を定義する。
前の単元では、コード、擬似コード、コードコメントについて学習しました。確かなことが 1 つあります。コードを読み、書く方法を学習するなら、実際にやってみるしかありません。さっそく始めましょう!
変数
変数は、データのコンテナだと考えてください。名前を付けて内容を説明できます。一意の名前で物理的にラベルを付け、コンテナに内容を追加できます。コンテナに必要なものをすべて入れたら、必要になるまで置いておけます。
変数は一時的な項目とも似ています。項目のように、各変数には名前があり、データ型もあります。コードが実行されるとき、変数名はコンパイラーにとっては重要ではありません。システムがコードを解釈するからです。ただし、開発者がコードの更新や修正をしようとするとき、意味のある変数名が付いていれば、各変数の目的を理解するのにかかる時間を減らすことができます。次の例を考えてみます。
String f = 'Melissa';
f という変数の目的は明確ではありません。ベストプラクティスは、明確で説明的な変数名を選択することです。たとえば、次のようにします。
String firstName = 'Melissa';
名前が変数で表されるものを説明するのに対し、データ型は変数に何を入れられるかを定義します。
よく使用されるデータ型
データ型 | 説明と例 |
---|---|
Integer (整数) | 小数点を含まない正または負の数値。Integer num = 12;
|
Decimal (10 進数) | 小数点を含む正または負の数値。Decimal num = 12.22222;
|
String (文字列) | 単一引用符で囲まれた一連の文字。わずか 1 文字から文章まで任意のテキストを含めることができます。String whatAmI = 'A String';
|
Boolean | 通常は true か false のいずれか。Apex では、null (空) も有効値です。Boolean は一般的にチェックボックスで使用されます。Boolean doSomething = False;
|
ID (Salesforce ID) | 有効な 18 文字の Salesforce レコード ID。Id contactId = '00300000003T2PGAA0';
|
Apex は強く片付けされた言語です。これは、変数を宣言 (作成) するたびに、そのデータ型、名前、必要に応じて初期値を設定するという意味です。
この例では、Integer はデータ型、i は変数名、2 は変数の初期値です。変数名は、任意の名前にできます。ベストプラクティスは、変数の目的を明確に示す名前を使用することです。そうすることで、コードが他の開発者にとって読みやすく、理解しやすくなります。
変数を初期化する (初期値を代入する) 場合、代入値は変数のデータ型と一致する必要があります。変数の宣言ステートメント内で値を代入しない場合、その変数の値は null になります。
では、変数を宣言しましょう。
- 開発者コンソールで、[Debug (デバッグ)] | [Open Execute Anonymous Window (実行匿名ウィンドウを開く)] をクリックします。
- 次のコードをコピーして、[Enter Apex Code (Apex コードを入力)] ウィンドウに貼り付けます。
Integer numberOfSpoons; System.debug(numberOfSpoons);
System.debug
によって、デバッグログに括弧の内容が表示されます。 -
[Open Log (ログを開く)] チェックボックスをオンにして、[Execute (実行)] をクリックします。
実行ログが開き、コードの実行結果が表示されます。
- ウィンドウ下部の [Debug Only (デバッグのみ)] チェックボックスをオンにします。
[Details (詳細)] 列に
System.debug
の出力のみが次のように表示されました。- 実行されたコード内の
System.debug
がある行番号: 2。 - ログレベル: DEBUG。
- numberOfSpoons 変数の値: null。
- 実行されたコード内の
System.debug
書いたコードが動かないときのことを想像してみましょう。質問できる人もいないので Google で検索していますが、もう窓からラップトップを放り投げたい気分です。これは、私たちのほとんどが体験することです。そんな窮地から救ってくれるのが、System.debug
です!
特定の変数値が変わるたびに通知されたら便利だと思いませんか? System.debug ステートメントはその種の通知を提供しています。開発者は、コードで不具合が生じる場所を特定するために、System.debug を使用して値の変更を監視します。
- 開発者コンソールで、[Debug (デバッグ)] | [Open Execute Anonymous Window (実行匿名ウィンドウを開く)] をクリックします。
- 次のコードをコピーして、[Enter Apex Code (Apex コードを入力)] ウィンドウの既存のコードを置き換えます。
Integer numberOfSpoons; System.debug(numberOfSpoons); numberOfSpoons = 1; System.debug(numberOfSpoons);
- [Open Log (ログを開く)] チェックボックスをオンにして、[Execute (実行)] をクリックします。実行ログが開き、コードの実行結果が表示されます。
- ウィンドウ下部の [Debug Only (デバッグのみ)] チェックボックスをオンにします。興味深い点に気付きましたか? 行 2 と行 5 はまったく同じコードですが、ログには異なる値が出力されています。こうなるのは、変数値はいつでも変わる可能性があるからです。
ここでは、コードの 2 つの時点でのスプーンの数を示す値という単純な例を使用しています。50 行のコードを実行していて、5 つの変数を監視していたら、ログ詳細で各変数の値と一緒に名前を表示する場合もあります。
開発者は、連結を使用してリテラルテキストと変数値を + 記号で接続します。debug ステートメントで情報を連結すると、デバッグログの読みやすさと理解しやすさが向上します。
numberOfSpoons 変数の名前とその値を 2 つの debug ステートメントに追加しましょう。
- 開発者コンソールで、[Debug (デバッグ)] | [Open Execute Anonymous Window (実行匿名ウィンドウを開く)] をクリックします。
- 次のコードをコピーして、[Enter Apex Code (Apex コードを入力)] ウィンドウに貼り付けます。
Integer numberOfSpoons; System.debug('The variable numberOfSpoons is: ' + numberOfSpoons); numberOfSpoons = 1; System.debug('The variable numberOfSpoons is: ' + numberOfSpoons);
- [Open Log (ログを開く)] チェックボックスをオンにして、[Execute (実行)] をクリックします。実行ログが開き、コードの実行結果が表示されます。
- ウィンドウ下部の [Debug Only (デバッグのみ)] チェックボックスをオンにします。
これで 2 つの値 (null と 1) が numberOfSpoons 変数の値であることが明確になりました。
構文
これらのコードサンプルで、コードの構造がどうなっているか気が付きましたか? プログラミング言語を作成するためのテキストと句読点の配置方法を構文と言います。Apex コードには、次のような構文規則があります。
- 最初に目にとまるのはおそらく、Apex ステートメントがセミコロンで終わることでしょう。
String whatTimeIsIt;
文章がピリオドで終わるように、Apex ステートメントはセミコロンで終わります。ステートメントの最後にセミコロンを付け忘れると、わかりやすいエラーメッセージで指摘されます。 - Apex 文字列では、単一引用符を使用して、リテラルテキストを周囲のコードから分離します。数値と Boolean 値 (true または false) には引用符は不要です。
String whatTimeIsIt = 'It is Tea Time!'; Integer sugarCount = 2; Boolean needsSugar = false;
これで、変数、データ型、構文の概要を理解できました。変数を宣言して値を代入する方法を学習しました。独自の debug ステートメントを作成してデバッグログで確認する練習をしました。うまく行っています!