Power Appsのキャンバスアプリでテキストの中で数式を使うような場合 (例えば "ようこそ XXさん" のXXにユーザー名を入れるケース)、これまでは "&"で前後の文字列と数式を結合させていました。
Label.Text : "ようこそ" & User().FullName & "さん"
このような数式を含む場合のテキストの書き方に、新しい方法が追加されていたのをRezaが発見しました。
⭐ String interpolation in Power Apps.
— Reza Dorrani (@rezadorrani) April 7, 2022
String interpolation enables expressions to be embedded within a string, providing a more concise alternative to using the & operator and concatenate for dynamic strings#PowerApps pic.twitter.com/Qn5v6f8zOh
今回はツイートの動画だけではわからないという方にむけて、新しい方法を紹介します。
※この新機能は既定の環境でもPower AppsのAuthoring versionを最新にすることで利用できます。
$-String interpolation
この新しい書き方は開発言語ではよく知られたもので、C# では $-string interpolation, Pythonでは f-stringsと呼ばれる記法に対応します。
先ほどの場合と同様に、ユーザー名を User().FullName
で表示したい場合、$-String interpolationでは以下のように表現します。
Label.Text : $"ようこそ {User().FullName} さん"
ポイントは "...."
で囲まれるテキストの前に $
を付与することと、数式を使う箇所を {...}
で囲むことです。
これによって{...}
で囲まれた部分の数式が評価され、画面上ではユーザーのフルネームに置き換えられます。
テキスト内で{ } を使いたい場合
String interpolationを有効にするために $
をつけていて文章中で { }
を使いたいときには、{
や }
を2回重ねて入力することでエスケープすることができます。
おわり
新しいテキストの書き方、String interpolationは新しく何か特別なことができる機能ではありませんが、さまざまなバックグラウンドを持つユーザーがより効率的にアプリを作成する上で重要なアップデートだと思います。
個人的にはテンプレートなどで書きなれている分、 $ + {}の方が書きやすいです。
これまでの &で結合する方法ももちろん引き続き利用できますので、書きやすい方法で統一するとよいでしょう。
Rezaは新しい機能だけでなく、Power Appsの有効な使い方を多く紹介してくれていますので、ぜひTwitterでフォローしてください!