😎
[Rust] 規定のディレクトリを取得する dirs クレートを使ってみた
他の記事で書いたけど Path に含まれる ~/
を展開するには home-dir がぴったりだった。
当初は dirs というクレートを使って自力で変換しないといけないのかな、と考えていたけど結局 home-dir の方が用途に合っていた。
でも dirs の方も気になるので一応試してみる。
環境: macOS 11.6.4
use dirs;
dirs::audio_dir() // => Some("/Users/alice/Music")
dirs::cache_dir() // => Some("/Users/alice/Library/Caches")
dirs::config_dir() // => Some("/Users/alice/Library/Application Support")
dirs::data_dir() // => Some("/Users/alice/Library/Application Support")
dirs::data_local_dir() // => Some("/Users/alice/Library/Application Support")
dirs::desktop_dir() // => Some("/Users/alice/Desktop")
dirs::document_dir() // => Some("/Users/alice/Documents")
dirs::download_dir() // => Some("/Users/alice/Downloads")
dirs::executable_dir() // => None
dirs::font_dir() // => Some("/Users/alice/Library/Fonts")
dirs::home_dir() // => Some("/Users/alice")
dirs::picture_dir() // => Some("/Users/alice/Pictures")
dirs::preference_dir() // => Some("/Users/alice/Library/Preferences")
dirs::public_dir() // => Some("/Users/alice/Public")
dirs::runtime_dir() // => None
dirs::state_dir() // => None
dirs::template_dir() // => None
dirs::video_dir() // => Some("/Users/alice/Movies")
上のメソッドがすべてらしい。
Mac と Windows 両方に対応したアプリを作る際に便利そう。
Discussion