19
まもなく開始します。 13316日土曜日

FM-中部 2013.3.16 変数を使ってみよう

Embed Size (px)

Citation preview

まもなく開始します。

13年3月16日土曜日

変数を使ってみよう変数を使ったことがありますか?データベース構造とは関係なく値を格納できる便利な変数。変数には ローカル変数 と グローバル変数 の2種類があります。

13年3月16日土曜日

本日の内容変数とは?

変数の定義

変数の使いどころ

実践(ワークショップ)

便利な変数の使い方

13年3月16日土曜日

変数とは計算式で、値を表すシンボルまたは名前。変数の設定スクリプトステップを使用し、変数の名前、値および繰り 返しを指定します。名前に $ で接頭語を付けると、現在のスクリプト内でのみ使用できるローカル変数になります。名前に $$ で接頭語を付けると現在のファイル全体で使用できるようになります。ローカルおよびグローバルな変数は同じ名前にすることができますが、異なる変数として 処理されます。

13年3月16日土曜日

変数の種類ローカル変数 $_XXX

計算式・スクリプト中のみ保持される

グローバル変数 $$_XXX

ファイルが閉じられるまで保持される

Let 関数内の変数

計算式内のみで保持される

13年3月16日土曜日

グローバル変数のマージ

<<$$_XXX>> の形式でレイアウト上に配置

グローバル変数の値を表示できる

Ver. 12 以降

13年3月16日土曜日

変数に使える文字2バイト文字が使える(日本語も大丈夫)

「$」はダメ

大文字・小文字を区別しない

命名時の制約はテーブル/フィールド名と同じ

変数の場合、強制もできない

「変数を設定」スクリプトステップの名前入力欄ではローカル変数の「$」を省略しても大丈夫

13年3月16日土曜日

問題01

グローバル変数とローカル変数の名前を同じにした場合、値は同じになる?

例:$$時間 $時間

13年3月16日土曜日

問題01:答え

グローバル変数とローカル変数の名前を同じにした場合、値は同じになる?

答え:同じ値にならない

グローバル変数とローカル変数は名前が同じでも別の変数として扱われる

13年3月16日土曜日

問題02

ローカル変数はスクリプト内の「スクリプトの実行」スクリプトステップで呼び出した別のスクリプト内でも保持される?

13年3月16日土曜日

問題02:答えローカル変数はスクリプト内で「スクリプトの実行」スクリプトステップで呼び出した別のスクリプト内でも保持される?

答え:保持されない

ローカル変数は定義したスクリプト内のみで有効。

13年3月16日土曜日

問題03

メインスクリプトで定義したローカル変数と同じ名前のローカル変数をサブスクリプトでも定義して値を変更した場合、メインスクリプトに戻ってきた時に変数の値はどうなる?

13年3月16日土曜日

問題03:答えメインスクリプトで定義したローカル変数と同じ名前のローカル変数をサブスクリプトでも定義して値を変更した場合、メインスクリプトに戻ってきた時に変数の値はどうなる?

答え:メインスクリプトで定義した時の値のまま

ローカル変数の値はスクリプト内でのみ保持されるので、別のスクリプトで同じ変数名を使っても元のスクリプトでは保持されたまま

13年3月16日土曜日

本日の質問

スクリプトの結果を受け取るには?

答え:「現在のスクリプト終了」スクリプトステップで”スクリプトの結果”を設定すると、元のスクリプトで Get ( スクリプトの結果 ) で受け取れる

13年3月16日土曜日

本日の質問

ファイルをまたいで変数を使える?

ローカル/グローバルともにファイルをまたぐことはできない

スクリプト引数やスクリプトの結果を使うことで値の受け渡しはできる

13年3月16日土曜日

変数を定義するには

「変数を設定」スクリプトステップ

Let 関数を使う(フィールド定義)

Let 関数を使う(条件付き書式)

データビューワ(Advancedのみ)

13年3月16日土曜日

変数の扱いのポイント変数は最初の定義以外はコピー&ペーストが原則

名前を覚えて「$_XXX」と打たない

面倒だけどミスの発生率が桁違い

手打ちだとミスがあった場合に発見が困難

InspectorとかBaseElements使う?

13年3月16日土曜日

変数の落とし穴

ローカル変数はスクリプト内のみで保持されるが、スクリプトステップ以外で再定義される場合がある

スクリプト内でのレコード移動/レイアウト切替で計算式内の変数が変更されると、スクリプト内の同名の変数に影響が出る

13年3月16日土曜日

変数の使いどころ値の作成・保存

動的なパスの作成

繰り返しの処理(カウンターとして使う)

繰り返しの処理(繰り返し変数)

スクリプトの効率化

開発の効率化

マージ変数でレイアウトの使い回し13年3月16日土曜日