mapChildren(p.children);
string result = "";
foreach (child; p.children)
result ~= prepareElem(child);
return result;
——
string mapChildren (ParseTree[] children) { return map!prepareElem(children).joiner.text; }
——
Текущая реализация, циклом, работает как надо
Предыдущая посредством map обрабатывает элемент аж 4 раза, хотя достаточно 1
Так вот, вопрос, а почему? Если надо могу побольше кода подкинуть. Вопрос сугубо для интереса, к ответу не обязателен
upd: Вводные данные:
Итераций цикла - 1 раз - т.к. в том случае 1 элемент
В другом случае, где 2 элемента, map работает без нареканий
map ленивая функция и типа выполняется каждый раз когда ты к ней обращаешься
Обсуждают сегодня