Yew: Setup development environment
This post is a supplemental note for setting up Yew's development environment (not development environment using Yew). Hope this save your time.
This post is a supplemental note for setting up Yew's development environment (not development environment using Yew). Hope this save your time.
Cores(コレス)というとゴールドフィルターが有名だけど、最近新しい電動ミル「コーングラインダー C330」が発売されたので早速試してみた。 ちなみにこれまでは Wilfa(ウィルファ) の Svart Aroma Coffee Grinder 、その前はメリタの VARIO-E を使っていたので、それらとの比較になる。
diesel 小ネタ。
参考: https://github.com/diesel-rs/diesel/issues/455
数字の ID でも文字列の slug でも1つの関数で検索できるようにしたい。
pub enum IdOrSlug {
Id(i32),
Slug(String),
}
// ...
pub fn find(..., id: IdOrSlug) -> Result<Article> {
let query = articles::table.left_join(categories::table);
let query = match id {
IdOrSlug::Id(id) => query.filter(articles::id.eq(id)),
IdOrSlug::Slug(slug) => query.filter(articles::slug.eq(slug.as_str())),
};
// ...
.filter()
をかますと引数の型が戻り値の型に埋め込まれるようで、 incompatible だと怒られる。
match arms have incompatible types
expected struct `schema::articles::columns::id`, found struct `schema::articles::columns::slug`
note: expected type `diesel::query_builder::SelectStatement<_, _, _, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Eq<schema::articles::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>>`
found struct `diesel::query_builder::SelectStatement<_, _, _, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Eq<schema::articles::columns::slug, diesel::expression::bound::Bound<diesel::sql_types::Text, &str>>>>`
ふと思い出しては何かを読んで、挫折してを繰り返しているのでいつまで経っても理解できていない。 けど、悔しいのでたぶん今後もチャレンジしていくと思うので自分用のリストを作っておく。
自分には思い通りのものを作ることはできなかった。
以下みたいなことを実現したい。
HashMap
let bag = Basket::new();
bag.set("Universe");
bag.set(42);
println!("i32: {}", bag.get::<i32>()); // => "i32: 42"
println!("&str: {}", bag.get::<&str>()); // => "&str: Universe"
// println!("bool: {}", bag.get::<bool>()); => Compile Error!