Преобразовать набор в список без создания нового списка

Короткая функция, выполняющая задание:

function deleteDir($path) {
    return is_file($path) ?
            @unlink($path) :
            array_map(__FUNCTION__, glob($path.'/*')) == @rmdir($path);
}

Я использую его в классе Utils следующим образом:

class Utils {
    public static function deleteDir($path) {
        $class_func = array(__CLASS__, __FUNCTION__);
        return is_file($path) ?
                @unlink($path) :
                array_map($class_func, glob($path.'/*')) == @rmdir($path);
    }
}

С большой силой приходит большая ответственность: Когда вы вызываете эту функцию с пустым значением, она удаляет файлы, начиная с root (/). В качестве защиты вы можете проверить, пуст ли пуст:

function deleteDir($path) {
    if (empty($path)) { 
        return false;
    }
    return is_file($path) ?
            @unlink($path) :
            array_map(__FUNCTION__, glob($path.'/*')) == @rmdir($path);
}
458
задан moffeltje 3 March 2018 в 13:20
поделиться

1 ответ

Так как это не было упомянуто до сих пор с Java 10, можно использовать новое copyOf метод фабрики:

List.copyOf(set);

От Javadoc:

Возвраты немодифицируемый Список содержащий элементы данного Набора, в его итеративном порядке.

0
ответ дан 22 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: