Rustその他のメモ
Scrapboxのページにするほどでもないレベルのメモ書きの寄せ集め
extern crateはメインのソースコードに書かないといけない
mod内(メインファイルやlib.rs以外)にはextern crateは書けない。エラーが出る。
対処:メインのソースコードに書く。 or lib.rsに書く
変数などの命名規則について
構造体やトレイトはパスカルケースの名前を用いることが原則になっている。
この命名規則に従わないとコンパイル時に警告が出る(デフォルトの設定)ので、
事情がない限りは以上の命名規則にしたがって変数や構造体などを定義しよう
スネークケース→ such_as_variable (単語の区切りにアンダーバー(_)を用いる) パスカルケース→SuchAsStruct (単語の区切りを大文字にする。類義語:アッパーキャメルケース)
使用していない変数は極力避ける
使用していない変数はコンパイル時に警告が出る(デフォルトの設定)ので、事情がない限りは使わない。
警告を抑止(アトリビュート以外の方法)するのであれば、変数の先頭にアンダーバーをつける(_)
src/binはメインのソースとは別?
このあたりはまだはっきりと分かっていないが、src/bin内のRustソースはmain関数が必要になるようだ
cargo run --bin [src/bin内のrustファイル名 or プロジェクト名]で単体のRustスクリプトをコンパイル・実行できる
src/bin内にソースコードを書いた場合はメインのプロジェクトをビルドする場合でもbin引数が必要になる
※TODO: ちゃんとわかったら書き直す
Dieselでデータベースを初期化するときはログインできるロールにする
.envで指定したDATABASE_URLで、データベースを初期化するときは、指定したユーザー(ロール)にログインできる権限を与えて置かなければ行けない。そうしないとエラーで初期化できない。(日本語での応答だったからか、Windows使ってるからなのか、そのことを知らずに初期化したら文字化けでエラーが返ってきた)
https://scrapbox.io/files/5ffa98a290d0ea001db39e6f.png
ビルドするときはファイルが使われていないか確認する
ファイルが使われている(例えば実行ファイルを動かしてる時とか)とビルドできない。
最初出てきたときになんじゃこのエラー、ってなったので一応メモしておく。
WindowsでRustの実行ファイル実行時に出てくるコマンドプロンプトを非表示にするには
アトリビュート、#![windows_subsystem = "windows"]をつけるといいようだ。
Rustをアンインストールする
RustはWindowsでは自己解凍式のインストーラーとかではないので、Windowsのアプリケーション一覧には表示されない。
Rustをアンインストールするにはrustup self uninstallを使うとアンインストールすることができる。