Glob нескольких типов файлов - PullRequest
0 голосов
/ 23 февраля 2020

Я хочу найти файлы для некоторого шаблона с несколькими расширениями. Пример: -

some/path/**.{json,jsonc}

Но функция ржавчины glob не работает с этими типами моделей. Вот мой обходной путь: -

extern crate glob;

use glob::glob;

fn main() {
    for file_name_result in glob("example/**.{json,jsonc}").unwrap() {
        match file_name_result {
            Ok(file_path) => {
                println!("Found:{}", file_path.display());
            }
            Err(e) => {
                eprintln!("ERROR: {}", e);
            }
        };
    }
}

1 Ответ

3 голосов
/ 24 февраля 2020

Вы правы, glob не принимает этот тип паттерна. Вам нужно вызвать его один раз для каждого добавочного номера:

extern crate glob;

use glob::glob;

fn main() {
    for file_name_result in glob("example/**/*.json")
        .unwrap()
        .chain(glob("example/**/*.jsonc").unwrap())
    {
        match file_name_result {
            Ok(file_path) => {
                println!("Found:{}", file_path.display());
            }
            Err(e) => {
                eprintln!("ERROR: {}", e);
            }
        };
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...