Ну тут некая магия свифта Если не ошибаюсь — если ты сейчас перед объявлением а объявиш другую переменную и больше ничего не будешь трогать — всё сломается
Это уже какой-то баг плейграунда. Переменная а существует только после объявления кложуры. Видать компилятор ее подхватывает до объявления каким-то образом в этом скоупе. Значения у неё нет на этапе задания замыкания, вот тебе и 0