Rust part10at TECHRust part10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト769:デフォルトの名無しさん 21/05/25 02:11:48.11 QcInQ0e9.net if_chain使って if_chain!{ if let Some(x) = x; ... then { println!("{}", x); } } 770:デフォルトの名無しさん 21/05/25 02:16:51.35 Ygc8ZzR1.net >>753 fooの型変えられないなら、戻り値Optionはクロージャないしローカル関数に留めるといいと思う https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=aa2bc019e7329f1b6bece2597b59ee8a 771:デフォルトの名無しさん 21/05/25 03:00:10.05 nrKC74iS.net Ok(())はよく使うがSome(())はないな 普通にif-letでパターンマッチするのでよくない? if let (Some(x), Some(y)) = (x, y) { println!("{} {}", x, y); } 772:デフォルトの名無しさん 21/05/25 05:18:39.47 gz717nup.net loggerを引数で渡すためには ロギングを行うクラスFooがどこかしら(コンストラクタか個々のメソッドで)loggerを受け取る引数を持たねばならない これ、ロギングみたいな裏方の仕事がFooのインターフェース仕様に影響しているということで、 抽象度が下がってるやんけ;;; 引き換えに得られるメリットは、Fooのインスタンスごとにloggerを切り替えられるというおおよそ現実的にありがたみが無い機能だけ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch