(動画チュートリアル関連) 関数の「返り値」とは?

動画チュートリアルを見ていると Return Value「返り値」という表現が出てきますが、これはどのようなものなのでしょうか?

:arrow_forward:関連する動画チュートリアル Introduction to UE4 Level Creation (v4.7) 10 - Blueprint Doorway Pt2 (v4.7)

関数は、ある値を与えられると、それらに対して一定の計算処理をしてやり、その結果を供給します。下の図で言えば、2 と 3 を与えられると、それらの合計を計算してやり、5 という結果を供給します。

この 5 という結果を出すことを「値を (関数の呼び出し元に) 返す」ということになります。つまり 5 が「返り値」です。このことをブループリントでやると、次のようになります。

何かと何かを足すという計算処理 (関数本体) を呼び出しているのは、赤く囲っているノードです。ですから 5 という返り値がこのノードに返って来ます (なお、実際に計算処理している関数本体は上図には表示されていません)。このノードの右側にある緑の出力ピンをマウスオーバーすると、ツールチップに Return Value (返り値) と表示されるように、返り値はこのピンを経由して返ってきます。

以下では、関数本体と関数呼び出しがはっきり分かるようにして、返り値が本当に返っていく様子を示してみます。

まず下図は、実際の計算を行っている関数本体です。

この CalParcent という関数 (関数本体の色はこのように紫です) は、Number という入力ピンに何らかの数が入ってくると、それを 500 で割って 100 を掛けてパーセントを計算して、Percent という出力ピンを経由して呼び出し元に返します。一方下図は呼び出し元です。

キーボードの G が押されると、CalParcent を呼び出します (呼び出し側の色はこのように青です) 。その時、249 という値を関数本体に渡しています (左赤枠部分)。この値が関数本体では Number という入力ピンに入ります。そして、本体側で計算した結果が、この呼び出し側の Percent という出力ピン (右赤枠部分) に返されて来ます。(この項続きます。)

(Answer の続きです)

実際に Play 中に G を押してみると次のようになります。

このように、返り値とは、簡単に言うと「関数本体から帰ってきた計算結果」ということになります。

なお、関数には必ずしも返り値があるとは限りません。下図の関数は、単にキャラクターをジャンプさせるだけの関数であり、何も値は返しません。