NOTO

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

 Date:2019-09-03 23:55:45 +0900
 Categories: TECHNOLOGY

小さいプログラムから作っていくために、ファイル一覧を標準出力に出す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の表示メソッドによって作成されます。」とのこと)

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

Tweet