создавать текстовые файлы с mtime между временным диапазоном

ОК, 6-летний вентилятор закрытия. Вы хотите услышать простейший пример закрытия?

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

Вот как я могу преобразовать историю своего плана в код.

var plane = function (defaultAirport) {

    var lastAirportLeft = defaultAirport;

    var car = {
        driver: {
            startAccessPlaneInfo: function () {
                setInterval(function () {
                    console.log("Last airport was " + lastAirportLeft);
                }, 2000);
            }
        }
    };
    car.driver.startAccessPlaneInfo();

    return {
        leaveTheAirport: function (airPortName) {
            lastAirportLeft = airPortName;
        }
    }
}("Boryspil International Airport");

plane.leaveTheAirport("John F. Kennedy");

1
задан stack0114106 22 March 2019 в 17:35
поделиться

1 ответ

В Path :: Tiny есть метод touch, а остальное - для разбиения желаемого диапазона дат. Обратите внимание, что приведенный ниже скрипт создает файлы (по умолчанию 10) с очень простыми именами, поэтому, пожалуйста, запускайте в совершенно новом каталоге, чтобы не перезаписывать что-либо не работает, поскольку spew возвращает истину / ложь, а не объект. (touch действительно возвращает объект, и поэтому он может иметь методы, связанные с ним, но здесь он должен идти после spew, поскольку spew изменяет время модификации.)

Выше создаются файлы [ 1123]

-rw-rw-r--. 1 xxx 8 Jul 31  2016 s1.txt
-rw-rw-r--. 1 xxx 8 Mar  1  2017 s2.txt
-rw-rw-r--. 1 xxx 8 Sep 30  2017 s3.txt
-rw-rw-r--. 1 xxx 8 May  1  2018 s4.txt
-rw-rw-r--. 1 xxx 8 Nov 30  2018 s5.txt

Возможно, вы захотите поиграть с размером шага и отметками времени первого / последнего времени.


Очевидно, что есть проблема с Time::Piece, которая, вероятно, указывает на проблему с этой системой & dagger; , поскольку модуль находится в ядре с 5.9.5. Тогда я бы использовал Time::Local::timelocal

use Time::Local;    
my $seconds_epoch = timelocal $sec, $min, $hour, $mday, $mon, $year;

, где $mday идет от 1, а все остальные начинаются с 0. Обратите внимание, что, хотя традиционно указывается год с учетом +1900 (то есть 116 для 2016 года), нормальные годы также принимаются. Так

$beg = timelocal 0, 0, 0,  1,  0, 2016;
$end = timelocal 0, 0, 0, 31, 11, 2018;

или, для большей гибкости с датами

($beg, $end) = map { 
    ($yr, $m, $d) = unpack "A4A2A2"; 
    timelocal 0, 0, 0, $d, $m-1, $yr 
} (20160101, 20181231)

& dagger; & thinsp; Проблема пропавшего Time::Piece описана в этого поста в блоге Дэйва Кросса . Также смотрите комментарии под вопросом и чат.

0
ответ дан zdim 22 March 2019 в 17:35
поделиться
Другие вопросы по тегам:

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