複数の戻り値について質問したいのですが、なぜこの構造がプログラミング言語で好まれないのですか(概念的および/または技術的な問題)。スタックフレームについて何か聞いたことがあります。また、戻り値と変数の戻り値のためにメモリを予約することで、これが問題になる可能性があります。
接触型言語(FORTHなど)では、関数からの複数の戻り値を持つことは一般的で非常に便利なものであり、java / cのような言語でこのようなものも役立つと思います(非常に基本的な例)。
x, y = multRet(5);
multret(int x) {
return x+1;
return x+2;
exit;
}
明確にするために:私は複数の値を返す方法を尋ねていません(これは既知の回答を持つ既知の質問です)が、この習慣がプログラミング言語では一般的ではない理由を明確にしたいと思います。
i=0; while (true) { return i; i+=1 }
ます(どうなるか?)。一部の関数型言語は、より優れた代替手段であるタプルを提供します。
return
ステートメントによって返されます。関数/ラムダを返すときに、ポイントがあるかもしれません。