- すべて
- 画像・動画
並べ替え:新着順
#データモデリングでドメインを駆動する の例でいうとこんな感じかな Employee, Supplier構造体は各自の情報を素直に保持していて、そこから支払い先情報を抽出するメソッドを外から注入できる(PaymentInfoとそのimpl) pic.twitter.com/5bhJshbSpO
このエラーが永遠にとれない。C++で書くしか無いのか・・ rosidl_generator_py.import_type_support_impl.UnsupportedTypeSupport: Could not import 'rosidl_typesupport_c' for package
今日もROS2駄目だった。 >rosidl_generator_py.import_type_support_impl.UnsupportedTypeSupport: Could not import 'rosidl_typesupport_c' for package 'camera_if'
Rustの型やトレイト、implをもっと抽象的に扱う方法があったらなぁ。 例えばgenericsを含むシグネチャが一致するか異なるか、どのような一般化になっているかみたいな事を簡単に知ることができれば良い
AtCoderに入っているtap crateの、 tap_mut(self, func: impl FnOnce(&mut Self)) -> Self がやりたいことと近そうです。 docs.rs/tap/latest/tap…
若干文脈はそれますけれども、そもそも &mut を受け取る関数全部これ化できるとよいというのはありそうですね。 fn apply<T, F: FnMut(&mut T)>(mut a: T, mut f: F) -> T みたいなのです。
Rustのimpl Trait構文はトレイト境界への部分的なシンタックスシュガーということだけど、impl Trait構文の利便性があんまり見えない…。トレイト境界そんなに冗長かな。 ジェネリクスの構文で記述できるトレイト境界だけでいいのではないか…と思ってしまう。
impl dyn Traitって書き方、初めて知った こんな事ができるんだね 使うときは<dyn LogRecord>::create_log_record()って感じか 今回の実装ではあんまり旨味がないな pic.twitter.com/c5tS6jWbLM
ははーん、implがambiguousになる可能性があるからってことか。たしかにScalaの場合もデフォルトというかimportせずに探索されるimplicitパラメーターはコンパニオンオブジェクトに設置する必要があって、それはデータ構造定義者にしかできないか。 doc.rust-jp.rs/book-ja/ch10-0…
Rustで依存ライブラリーAで定義されたトレイトを別の依存ライブラリーBで定義された構造体でimplする👈というのが許可されていないのってどういうモチベーションなんだろうか🤔(Scalaのimplicitはこれが普通にできるわけだが……)
Rustで依存ライブラリーAで定義されたトレイトを別の依存ライブラリーBで定義された構造体でimplする👈というのが許可されていないのってどういうモチベーションなんだろうか🤔(Scalaのimpilcitはこれが普通にできるわけだが……)
実装用のエイリアスや内部だけで使う型のように外部に出したくないものが多いので、library::hoge_impl みたいな名前空間内に全てをぶちまけて実装して、library 以下で using hoge_impl::hoge することで最後に提供するものだけ外に出してる。
`impl Iterator` を返す関数で複数の型の戻り値を使用できるようにする iter-n crate を公開しました Either crateとの違いは、型が増えた場合の可読性です。iter-nでは型が増えても可読性が落ちない構文を採用しました。 github.com/frozenlib/iter… pic.twitter.com/Ofg3MsDRKI
Stable diffusionローカル版の導入でつまずいた箇所 ・Pythonバージョン「3.10.6」のDL ・GitのDL ・AssertionError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this ・RuntimeError: "addmm_impl_cpu_" not implemented for 'Half'
Rust言語を少し勉強してるけど、結構いいぞこれ 変数がデフォルトで変更不可 クラスの機能がstruct, trait, implなどに分割されてる こういう感じの仕様だったらいいのにが実現されてる感じ(勉強時間1時間)
型変数は残っていないとする) - コンパイルエラー(conflict impl)が生じた場合、 S_n: Trait bounds なので、対応するspecialize実装をdefault caseと統合する。
すなわち default impl<T: Clone> Trait for T {} impl Trait for MyType {} みたいなspecializationが許される。(MyType: Clone かどうかに関わらず)