回答 (12件中の1件目) 多くの言語で多値のリターンができない理由ですが、昔のC言語(Sys V以前のC)が単一レジスタに格納できる値しかリターンできなかったのを引きずってるだけだ、という意見を見つけました(勝手な読み取り)。 多値について本気で考えてみた - ぐるぐる~ この先に書かれていることを自分なりにまとめると、 * 多値返しがファーストクラスではないという意味でタプル返しの劣化版なのは認めよう。しかし考えを進めよう。タプルの劣化版としての意味を。 * 多引数関数があるのと同様に多値関数があってもいい * スタックマシンではむしろ自然に実装できる(レジスタ返しに縛ら...
![ほとんどのプログラミング言語で関数のreturnが1つしか出来ないのはなぜですか?](https://cdn-ak-scissors.b.st-hatena.com/image/square/7160d4babd4d555f02977d7dd74f94d47b2f7570/height=288;version=1;width=512/https%3A%2F%2Fqsf.cf2.quoracdn.net%2F-4-images.social_share_brand_logo.png-26-b6922c34f079ee95.png)