【UiPath】「変数のスコープ」を理解する【初心者】
UiPathの学習追体験記事です。
※あくまで学習中の脳内を記事にしたものなので、この記事で書かれてあることが”正しい”とは限りません。
参考:学習効率本5巻 「知識の自作」
0.動機

「UiPath RPA アソシエイト資格試験」を受けたい!
と思い、練習問題のプラクティステストを受けてみたが、正答率は半分にも満たなかった。徹底的にプラクティステストの復習をするしかない!
ということで、本記事では、プラクティステストで間違えた問題の復習の様子を書きつらねていきます。
まずは、間違えた問題の紹介。
変数のスコープを変更するにはどのUiPath Studioパネルが使用できますか。
引用元:https://www.pearsonvue.co.jp/uipath
UiPath RPA アソシエイト資格試験 プラクティステスト
解説部分には、この問題で求めている知識が紹介されていた。内容は以下。※答えは明示されてない
トピック:異なる変数タイプとそれらの使用法、管理、および[変数(Variables)]パネルにおける変数スコープの使用に関するベストプラクティスについて説明する。変数と引数の違いを説明する。
引用元:https://www.pearsonvue.co.jp/uipath
UiPath RPA アソシエイト資格試験 プラクティステスト

変数や引数は、プログラミングの入門書に必ず出てくるワードだよね。ここは、ちゃんと理解しないと後に響きそうだ。
ちょっと気にかかるのは、「変数タイプ」という表記、これは、「変数の型」と同じ意味かな。
下記記事を見たところ、変数タイプと変数の型は同じ意味として考えて問題なさそう。
では、以下から、「変数および変数のスコープ」の復習をしていく。
1.全体像理解
全体像理解とは、理解する項目の位置づけを把握すること。
垂直的理解
理解する対象が、UiPathアカデミーの「どのコース」「どの章」にあるかを確認する。
今回の理解の対象である「変数」と「変数のスコープ」については、以下のコースの章に記載があった。
UiPathアカデミー>UiPath Studio開発 初級コース>レッスン一覧>変数とデータ型
では、「変数」と「変数のスコープ」の説明文をそれぞれ見てみる。
変数
変数には、数値や文字列などのデータを格納することができます
引用元:https://academy.uipath.com/jp/learningpath-viewer/1954/1/153407/16
変数のスコープ
変数のスコープとは、変数の適用範囲のことで、このスコープを設定することで、どの範囲で変数を使用することができるか定義できます
引用元:https://academy.uipath.com/jp/learningpath-viewer/1954/1/153407/16

スコープは、スペルにすると「scope」。変数は、英語で言うとなんだろう。
・変数(variable)の語源から考えを広げる
変数は、英語で「variable」というらしい。scopeとvariableの一般的な意味も調べてみよう。
以下、weblio辞典参考。
scope | 範囲、視野、余地、機会 |
variable | 変動できる、可変的な、変数の、不定の、変異する |

variableの「変動できる」っていう意味があるのなら、「変動できない」を意味するIT用語もあるのかな。「不変数」みたいな、、
変数の関連語を調べていたところ、以下の用語を見つけた。

定数 【constant】 const / 常数
……
変数とは異なり、宣言時に決めた値をコードの中で後から変更することができない。
と記載があった。

ふむふむ、変数の反対は「定数」という理解で良いのかな。
「後から変えられる値が変数、後から変更できない値は定数」と理解しておこう。
水平的理解
UiPathでの変数の型とスコープのそれぞれの種類を調べてみたところ、UiPath Studioの変数パネルに「変数の型」と「スコープ」の欄があった。
・変数パネル>変数の型
主な変数の型が表示されていた。
「型の参照…」という選択肢があるので、他にも変数の型があるのだろう。
「型の参照…」をクリックしたところ、膨大な数の変数の型を見つけてしまった。

今のところは、主に使用する変数を知っておくだけにとどめよう。
データ型 | 型名 | 備考 |
Boolean | ブール型 | true/Falseデータ |
Int32 | 整数型 | |
Double | 倍精度浮動小数型 | |
String | 文字列型 | |
DateTime | 日付時刻型 | |
Array | 固定長配列 | |
List | 可変長配列 | |
Dictionary | 辞書型 | キーと値から構成 |
DataTable | 表データ型 | |
Object | オブジェクト型 | すべてのデータ型のベース |
Generic Value | Generic Value型 | 複数の種類のデータを格納できる。UiPath独自の型。 |


「Generic Value型」使ってみたいな~。自分の追い求めてた「万能の型」なのかも。

・変数パネル>スコープ
「シーケンス」と「フローチャート」が選択できる。

ん、制御系アクティビティが表示されるのかな。
よく見ると、使用されている制御系アクティビティの階層を示していた。

ふむふむ、「変数の適用範囲をどの階層までにするか」を決めるのがスコープの役割みたいだね。
2.実践理解
実際に手を動かすことで理解を深める。
変数のスコープ
「変数のスコープ」にしぼって、実践理解を試みる。
「変数」に関しては、Excel関連の記事で実践しているため、本記事では割愛。



・ワークフロー概要
まずは、それぞれの「変数のスコープ」をすべて最上位の階層に設定してみる。
そのワークフローと実行結果は、以下の動画より。
やっていることは、簡単。
変数のスコープを最上位の階層に設定して、どの階層でも変数を使えるようにしているだけ。
次は、このスコープの設定を変更した場合、どのような挙動になるかを試してみる。
・スコープ変更
まずは、2番目の階層「シーケンス階層②」で作成した変数「Scope」のスコープを変更する。
最上位の「フローチャート階層①」から「シーケンス階層②」に変更。

最上位の階層に変数Scopeが使われているから、エラーになるんじゃないかな。
エラーとなった。
また、最上位の階層を選択した状態で変数パネルを開くと、変数「Scope」の記載がなくなっていた。

選択中の階層で使用できる変数のみ、変数パネルに表示されるってことかな。
次に。3番目の階層「シーケンス階層③」で作成した変数「Variable」のスコープを変更する。
最上位の「フローチャート階層①」から「シーケンス階層③」に変更。

さっきと同じ結果になるのでは。
a.エラーとなった。
b.先ほどと同様に、選択中の階層の変数パネルから変数Variableの記載が消えていた。

やっぱり、変数パネルに表示される変数は、その階層で使用できる変数なんだね。
3.まとめ
「変数」と「変数のスコープ」の理解に励んだ。「変数のスコープ」に関しては、実際に使用してみることで理解を深める形をとった。
ここでは、「変数のスコープ」について分かったことを自分の言葉でまとめる。
・「変数のスコープ」は、変数を使用できる階層の範囲を決める機能
・変数パネルは、その階層で使用できる変数が表示される

4.参考文献

コメント