36. При передаче в Array(repeating:count:) функция вызовется один раз или для каждого элемента?Теория

let names = Array(repeating: makeRomanName(), count: 3)

Темы

makeRomanName() вызовется один раз. Array(repeating:count:) берёт уже готовое значение и повторяет его count раз. Аргумент вычисляется до входа в инициализатор, а не внутри цикла. Если функция вернула класс, во всех трёх ячейках будет один и тот же экземпляр. Если структуру, в ячейки попадут копии этого одного значения, но сам вызов всё равно был один.