【Unity入門】$を使って文字列の中に変数を埋め込む方法

文字列の中に変数を埋め込むことができます。

やり方は文字列の前に『$』をつけて埋め込みたい変数を{ }で囲むだけです。

実際にコードにすると、

$”こんにちは{name}さん”;

このような感じになります。


実際にやってみる

準備

それでは実際にやっていきましょう。

まずは、以前作成した、『C# Basics』というプロジェクトを開いてください。

『C# Basics』を開いたら、文字列を変数に埋め込むシーンを作りましょう。

Scenesフォルダの中に作成します。

Projectウィンドウで、Scenesフォルダを選択しましょう。

選択した状態で『+』ボタンを押しましょう。

色々と出てくるので、

『Scene』をクリックしましょう。

すると、Scenesフォルダの中に

新しくSceneが作成されます。

Sceneの名前を『EmbedVariables』に変更しておきましょう。

今回は『EmbedVariables』の中で文字列に変数を埋め込みたいので、Sceneを移動します。

『EmbedVariables』をダブルクリックしましょう。

すると、Sceceを移動することができます。

Hierarchyウィンドウを見ると、現在のSceneが『EmbedVariables』に変わっていますね。

次に関数を使うためにスクリプトを作っておきましょう。

Scriptsフォルダを選択してください。

選択した状態で『+』ボタンを押しましょう。

色々と出てくるので『C# Scripts』を選択します。

すると、新しくスクリプトが作成されます。

新しく作ったスクリプトは一度名前が確定してしまうと、その名前がクラス名になったしまいます。

なので、名前が確定してしまう前に名前を変更しましょう。

今回は『EmbedVariable』と変更します。

名前を変更したら、スクリプトを編集していきましょう。

EmbedVariableをダブルクリックしてください。

すると、VIsual Studioが起動して、EmbedVariableを編集できるようになります。

スクリプト名とクラス名が一致していなければエラーが出てしまいます。

スクリプト名

クラス名が

完全に一致しているか確認して、違っている場合は一致させておいてください。

文字列に変数を埋め込んでみる

それでは、文字列に変数を埋め込んでみましょう。

今回は名前を表すnameというstring型の変数に『太郎』という値を格納し、関数Debug.Logの中に埋め込んでみようと思います。

まずはnameという変数を作りましょう。

Start関数の上に

string name = “太郎”;

と記述しましょう。

コードについて説明しておきましょう。

このコードはstring型の変数

nameを作って、

太郎という文字列を格納する

といった内容です。

この変数を適当な文字列の中に埋め込んで、コンソールに出力してみましょう。

Start関数の中に

Debug.Log($”こんにちは、{name}さん”);

と記述しましょう。

コードについて説明しておきます。

まず、Debug.Log()というのは、

()の中に入れた文字列をコンソールに出力する関数です。

今回は『こんにちは、{name}さん』という文字列を出力します。

{name}というのは

文字列に変数nameを

埋め込むという意味になります。

文字列に変数を埋め込むときは、文字列の前に『$』をつけて、

埋め込みたい文字列を『{ }』で囲みます。

この状態で実行してみると、変数nameには

『太郎』が格納されているので、

コンソールには、『こんにちは、太郎さん』と出力されるはずです。

実際に実行してみましょう。

スクリプトを保存して、Unityエディタに戻りましょう。

Unityエディタに戻ったら、スクリプト『EmbedVariable』をMain Cameraにドラッグ&ドロップしましょう。

すると、Main CameraにEmbedVariableを追加できます。

この状態で実行してみましょう。

再生ボタンを押してください。

すると、予想通りコンソールには『こんにちは、太郎さん』と出力されますね。

このようにして、文字列の中に変数を埋め込むことができます。