Note

Rustでファイルの一覧を取得してみる

小さいプログラムから作っていくために、ファイル一覧を標準出力に出すlsみたいなやつを書くために調べた。

code

use std::fs; fn main() { let paths = fs::read_dir("./").unwrap(); for path in paths { println!("{}", path.unwrap().path().display()) } }

run

// 実行 $ cargo run Compiling ls v0.1.0 (/Users/ryo/works/RYO/rust/ls) Finished dev [unoptimized + debuginfo] target(s) in 0.80s Running `target/debug/ls` ./Cargo.toml ./target ./Cargo.lock ./.gitignore ./.git ./src

memo

std::fs
ファイルシステム操作をするための標準ライブラリ

unwrap()
Result型かOptional型を取り出す。値が入っていない時に panic を発生させる。

std::path:path のかたまりを抽出して、 .display()で安全に表示するようにしている(「Pathには非Unicodeデータが含まれる場合があります。この構造体は、それを軽減する方法で表示特性を実装します。 Pathの表示メソッドによって作成されます。」とのこと)

なんとなく読めた気になった。