トップページ > プログラム > 2020年04月06日 > FD55gb+K

書き込み順位&時間帯一覧

7 位/106 ID中時間01234567891011121314151617181920212223Total
書き込み数0100100000000000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Rust part8

書き込みレス一覧

Rust part8
397 :デフォルトの名無しさん[sage]:2020/04/06(月) 01:16:22.32 ID:FD55gb+K
C言語でいうところの if ( (c=foo()) == bar) { ...(cを使う処理)
みたいなことやりたいんですがどうすればいいですか?
fooが結構重くて2回呼び出したくないのですが、
let c = foo();
if c == bar {...
とやるしかない?
Rust part8
401 :デフォルトの名無しさん[sage]:2020/04/06(月) 04:04:37.66 ID:FD55gb+K
>>398
match foo() {
c if c == bar => { .. },
_ => (),
}
こういう感じでしょうか。この場合だと記載量としてはかなり微妙ですが何かに使えそうなので覚えときます。
ありがとうございます。

>>399
今回の場合はfoo()がboolじゃないのと、barが変数なのでシャドーイングされてうまくいかないようです・・・。
if let foo @ bar = foo() { ...
みたいなことやろうとしましたがダメでした。
https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=d580f91c98f26cf52a23791489914ec3


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。