Rust part33 (229レス)
上
下
前
次
1-
新
47
: 08/24(日)12:08
ID:veJK4T2Q(1/3)
AA×
[
240
|
320
|
480
|600|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
47: [sage] 2025/08/24(日) 12:08:19.32 ID:veJK4T2Q 返却された値がスタック上でどう扱われるかというのは言語仕様でなく最適化の問題だから、そこはRustではなくLLVMの話 言語仕様としては「Rustではタプルを簡単に作れる」「タプルの中身を別々の変数に束縛できる」というだけ 多値返却の目的からすればこれで十分だし、多くの言語はこれに相当する Goは本当に多値返却という仕様で、これはタプルを返すのとは違う そもそもタプルが言語仕様になくて、関数の返り値でだけ多値を返せるという変わった仕様 だから、2つの戻り値を返す関数を1変数で受け取ることができなかったりする (Rustでいえば「戻り値を分解せず1つのタプル変数 t で受け取る -> t.0, t.1 のようにアクセスする」という書き方がGoではできない) だから言語仕様としての話をしたいのか、「関数から複数の戻り値を返す」という目的の話をしたいのかで話は変わる 後者については、最近の多くの言語ではサポートしてるし、そんなに話がズレることもない 前者の意味でなら、Rustは多値返却の構文を持つ言語とは違う http://mevius.5ch.net/test/read.cgi/tech/1755247770/47
返却された値がスタック上でどう扱われるかというのは言語仕様でなく最適化の問題だからそこはではなくの話 言語仕様としてはではタプルを簡単に作れるタプルの中身を別の変数に束縛できるというだけ 多値返却の目的からすればこれで十分だし多くの言語はこれに相当する は本当に多値返却という仕様でこれはタプルを返すのとは違う そもそもタプルが言語仕様になくて関数の返り値でだけ多値を返せるという変わった仕様 だからつの戻り値を返す関数を変数で受け取ることができなかったりする でいえば戻り値を分解せずつのタプル変数 で受け取る のようにアクセスするという書き方がではできない だから言語仕様としての話をしたいのか関数から複数の戻り値を返すという目的の話をしたいのかで話は変わる 後者については最近の多くの言語ではサポートしてるしそんなに話がズレることもない 前者の意味でならは多値返却の構文を持つ言語とは違う
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 182 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.043s