Сдаю проект учебный, важный нюанс, код должен быть в имутабельном стиле. Ну и соответственно проект должен пройти на все это тесты.
Столкнулся с одним местом, никак не пойму как исправить....
Вообщем есть такой отрезок кода
Вот так тест жалуется, что у анонимной функции должен быть ретёрн.
$stylishData = array_map(function ($node) use ($indent, $depth): string {
$type = $node['type'];
$name = $node['name'];
switch ($type) {
case 'unchanged':
$unchanged = stringify($node['value'], $depth + 1);
return "{$indent} {$name}: {$unchanged}";
case 'removed':
$removed = stringify($node['value'], $depth + 1);
return "{$indent} - {$name}: {$removed}";
case 'added':
$added = stringify($node['value'], $depth + 1);
return "{$indent} + {$name}: {$added}";
}
}, $tree);
Вот так тест жалуется, что $result не определен...
$stylishData = array_map(function ($node) use ($indent, $depth): string {
$type = $node['type'];
$name = $node['name'];
switch ($type) {
case 'unchanged':
$unchanged = stringify($node['value'], $depth + 1);
$result = "{$indent} {$name}: {$unchanged}";
break;
case 'removed':
$removed = stringify($node['value'], $depth + 1);
$result = "{$indent} - {$name}: {$removed}";
break;
case 'added':
$added = stringify($node['value'], $depth + 1);
$result = "{$indent} + {$name}: {$added}";
break;
}
return $result;
}, $tree);
а вот тут уже мутация.....
$stylishData = array_map(function ($node) use ($indent, $depth): string {
$type = $node['type'];
$name = $node['name'];
$result = "";
switch ($type) {
case 'unchanged':
$unchanged = stringify($node['value'], $depth + 1);
$result = "{$indent} {$name}: {$unchanged}";
break;
case 'removed':
$removed = stringify($node['value'], $depth + 1);
$result = "{$indent} - {$name}: {$removed}";
break;
case 'added':
$added = stringify($node['value'], $depth + 1);
$result = "{$indent} + {$name}: {$added}";
break;
}
return $result;
}, $tree);
совсем голова не варит уже, как это пофиксить? )) есть идеи?