rksoftware

Visual Studio とか C# とかが好きです

Power Automate の変数宣言の注意 (モダンプログラミング言語経験者向け)

Power Automate は素晴らしいプラットフォームです。
事実上プログラミング言語です。関数で計算や値の変換などもできますし、変数も使えます。

■ 変数

アクションの結果や、関数の結果を書き換え可能な変数にセットすることができます。当然後続の処理で読んだり書き換えたりできます。非常に便利。便利というか必須ですね。ちょっとしたことをするにも大量の変数を作って使いこなさなければならないのが実情です。

ちなみに「書き換え可能な」と敢えてつけたのはイミュータブルな変数が作れないからです。これはかなり悩むところなので覚えておいてください。いざ Power Automate を使うという際にかなりの時間変数をイミュータブルにする方法で相当悩むと思います。

※変数をイミュータブルにはできませんが、代替策はあります。それは後の記事に。 rksoftware.hatenablog.com

■ 知らないと詰まる変数の仕様

次の画像を見てください。エラーが出ています。

これは簡単に言うと、次のようにしなけrばならないということです。

処理の先頭で処理の中で使う変数を全て宣言します。

1999 年より前にプログラミングを学んでいたベテランがよく書く書き方のようですね! プログラミング経験のある皆さんならばよく見かけるスタイルでなじみがあると思います。まあ、そんな感じで多くの場合ちょっとしたフローでも先頭は変数宣言で埋め尽くされてしまうと思います。

■ C# に #Region あるじゃないですか

賛否両論あるアレです。
docs.microsoft.com

さすがに一画面に収まらないような変数前言になると、 #Region 的なことをしたくなる人もいると思います。ちなみにフローの編集では変数の宣言はプログラミングコードでの 1 行の 5 倍くらいの高さを使います。本当にちょっと宣言しただけで非常に大きな存在感が得られます。

Power Automate のフローでもまとまりごとに閉じたり開いたりを実現できる方法があります。機能としてはブロック { } の機能です。try { } catch { } finally { } の実現に使います。

こんな感じに閉じたり開いたりできます。

参考

rksoftware.hatenablog.com

■ ブロックだと言ったな

ブロックだと言いました。ブロックということはつまり。

■ はい

はい。

関連記事

rksoftware.hatenablog.com rksoftware.hatenablog.com rksoftware.hatenablog.com