RustLadies第4回目を開催しました!【イベントレポ】
RustLadiesとは
Rustに興味がある女性で集まり、ゆるっとRustを楽しむコミュニティです。
Rustにハマった筆者が、女性同士でRustを楽しみながら勉強したい!ついでに女性エンジニア同士の繋がりも増やしたい!というモチベーションから立ち上げました。
多分日本初のRust女性コミュニティです!🦀
第4回目:3章の復習+α
前回に引き続きThe Bookを参加者のみなさまと進めました!
3章といえばデータ型、関数、変数の作り方、制御文、コメントなどなど。
前回から1ヶ月経っていることもあり、前回の復習を兼ねて皆さんで学習しました。
今回こちらでは、実際進行中に私が新たに学びとなったことを元に記述していきます。
RustのDoc comments
Rust でも関数にドキュメントをつけられます!!
(参加者の方に言われて調べて知りました)
///
の後に文章を続ければ、関数にホバーした際にドキュメントが表示されます。
また、cargo doc
をすれば、コメントを元にかっこいいドキュメントページも生成してくれます!とても便利!!!!!
Documentation - Rust By Example
例
/// return hello world!
/// Hello, RustLadies!
///
///
/// Thank you
///
///
/// 気軽にコメントを入れ替えてみましょう
///
/// ## sample code
/// ```
/// let mut a = "example";
/// ```
fn main() {
println!("hello world");
}
cargo doc した結果
おまけ:Live Server 便利!!!
cargo doc
で作成したページをサクッと確認する際、もちろんファイルのパスをブラウザに直接入力してもよいのですが。。
今回参加者の方から「Live Server便利だよ!」と教えていただき、早速使ってみました!
Live Server はVS Codeの拡張機能で、開きたいディレクトリ上でLive serverを立ち上げると勝手にサーバーを立てて、HTMLファイルをローカルでみられるようにしてくれます。
サクッと確認したい場合本当に便利そうです... 👏
exercismでRustの勉強をされている方が...!
参加者のお一人にexercismを使ってRustを学習しています、というお声をいただきました!
練習問題がいくつかあって、それを海外のメンターさんがレビューしてくださるサービスのようです。
書いて覚えたいタイミングにはピッタリそうです!
面白そうなので私も使ってみます…!👀
怪しい部分(次回宿題)
認識が怪しかった部分です。どう埋めるかは悩んでいます。。
トレイト
特定の型に存在するメソッド...という認識でいたのですが、実際何が美味しいのかは怪しい...。
トレイトは、Rustコンパイラに、特定の型に存在し、他の型と共有できる機能について知らせます。 トレイトを使用すると、共通の振る舞いを抽象的に定義できます。
自作の型などを実装している際、インターフェースにトレイトの入出力を定義→アプリケーション側で詳細な実装を定義、というのはよくありますね。
下記記事がとても参考になりました。 🙏
&str と String
String
の参照が&strか、それは&String
かが曖昧に...
参照については認識出来ていても、実際に手を動かすとイメージが湧かず、結局じゃあこれは何型なのか?がピンとこず...
これも次回調べてきます...
感想
今回はJavaを経験された方も入り、「ここは共通の概念でJavaのこういうのあるよね〜」「OOに近そう!」という声も飛び交うイベントでした。
次回はThe Book からちょっと離れて、各々が学びたい内容や、exercismのコードを使って学んだ結果などをシェアする会をします!
題して、「ぴよぴよRust」!!
ゆるく楽しく、一緒にRustを学んでいきましょう。
また、本日の内容をmaeさんがまとめてくださいました〜〜〜!めちゃくちゃありがとうございます!
参考文献
- exercism.ioでプログラミングを勉強する #プログラミング - Qiita
- トレイト:共通の振る舞いを定義する - The Rust Programming Language 日本語版
- トレイト|Rust入門
宣伝:来月のRustLadies開催決定!! 🎉🥳
Rustのもっと学習したい部分を各々調べたり、コーディングしたりしてきた結果をワイワイお話しする会します!!LTよりもっとゆるい会を目指しています!!
※女性限定です。あらかじめご了承ください。
Discussion