タグ

2019年12月31日のブックマーク (1件)

  • ほとんどのプログラミング言語で関数のreturnが1つしか出来ないのはなぜですか?

    回答 (12件中の1件目) 多くの言語で多値のリターンができない理由ですが、昔のC言語(Sys V以前のC)が単一レジスタに格納できる値しかリターンできなかったのを引きずってるだけだ、という意見を見つけました(勝手な読み取り)。 多値について気で考えてみた - ぐるぐる~ この先に書かれていることを自分なりにまとめると、 * 多値返しがファーストクラスではないという意味でタプル返しの劣化版なのは認めよう。しかし考えを進めよう。タプルの劣化版としての意味を。 * 多引数関数があるのと同様に多値関数があってもいい * スタックマシンではむしろ自然に実装できる(レジスタ返しに縛ら...

    ほとんどのプログラミング言語で関数のreturnが1つしか出来ないのはなぜですか?
    kazkaz03
    kazkaz03 2019/12/31
    回答のリンク先含め色々なサイト見回った結果、何個の数がreturnされるのかが見ただけで分かりにくいからという結論に達した。 (f(g(), h())のfは引数を何個取るか分からなくなる)/cf. https://bit.ly/39m0PMF