Простий приклад Lua

Почнемо з простого прикладу, який надрукує якийсь код на консолі. Створіть файл з назвою luarc у каталозі конфігурації Darktable (зазвичай $HOME/.config/darktable/) і додайте до нього такий рядок:

print("Hello World !")

Запустіть Darktable і ви побачите на консолі надруковану фразу “Hello World !”. Нічого вигадливого, але це початок.

На цей момент у сценарії немає нічого специфічного для Darktable. Ми просто використовуємо стандартну функцію друку Lua для друку рядка. Це приємно і все таке, але ми можемо зробити й краще. Для доступу до API Darktable вам спочатку потрібно “вимагати” його (require) та зберегти повернутий об’єкт у змінну. Після цього ви зможете отримати доступ до API Darktable як підполя поверненого об’єкта. Все це задокументовано в довідковому посібнику Lua API від Darktable.

local darktable = require "darktable"
darktable.print_error("Hello World !")

Запустіть сценарій і … нічого не станеться. Функція darktable.print_error подібна до print, але друкуватиме повідомлення лише у тому випадку, якщо ви ввімкнули відстежування Lua, запустивши Darktable з “darktable -d lua” у командному рядку. Це рекомендований спосіб відстежування сценаріїв Lua в Darktable.

translations