Такс, я потихоньку буду разбирать классы GLib, потому что GLib - базовая библиотека Vala, и все что умеет она умеет и Vala, тк сказать из коробки(без подключения сторонних библиотек).
Я попытаюсь быть максимально краток и просто разбирать базовые примеры использования, а для тех кто хочет разобраться более детально буду оставлять ссылку на ValaDoc
Компиляция любого кода из примеров всегда будет выглядеть одинакого vala filename
GLib.Timer
И первым будет класс таймер, им можно легко засекать время. Отлично подходит для бэнчмарков.
Таймер автоматически начинает отсчет при создании объекта.
Методы
1) elapsed
- возвращает кол во времени в секундах double, а так же может принять ulong и заполнить его микросекундами, но это не обязательно (строки 10, 17, 26)
2. stop
3. @continue
собака потому что это ключевое слово
4. start
5. reset
- бессмысленная функция, ведь можно вызывать start на уже запущенный таймер, это даст тот же эффект.
|
|
Dir
|
|
Строки 3-4 открытие текущей директории, второй параметр флаги(0 = без флагов)
7-24 цикл который будет крутится пока в текущем каталоге не закончатся файлы, тк кк
read_name
возвращает следующий файл из текущего каталога, что-то вроде итератора, но для папок.8
Path.build_filename
строит путь из переданных ему аргументов, с учетом особенностей ОС (например на Windows в пути могут использоваться обратные слеши \ а не обычные)Пример
Path.build_filename ("my", "full", "path/to.txt");
дастmy/full/path/to.txt
на UNIX подобных ОС.if’ы - FileUtils.test возвращает true в случае если тесты указанные в его аргументах прошли для path. В Windows нет символических ссылок, поэтому тестирование
IS_SYMLINK
всегда будет возвращать false В случае если тест прошел к type добавляется собственно то, на что был тест.
Вывод
папка DIR | EXECUTABLE | . | . |
---|---|---|---|
исполнительный файл | REGULAR | EXECUTABLE | - |
timer.vala | REGULAR | - | - |
path_build_name.vala | REGULAR | - | - |
Ссылка на исполнительный файл | REGULAR | SYMLINK | EXECUTABLE |
path_build_name.vala | REGULAR | - | - |