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の表示メソッドによって作成されます。」とのこと)

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