—5
Это прекрасный образец рака мозга, ящитаю:
<?php
function turn($x)
{
$y = abs($x);
if ($y == $x)
return "-$y";
else
return "$y";
}
?>
You can use this code:
<?php
echo turn(-5) + turn(10);
?>
The output is:
-5
;
Because 5 + -10 = -10
Цитата — из пользовательского комментария к функции abs языка PHP. Для тех, кто далёк от программирования, побуду Капитаном Очевидностью.
Функция меняет знак числа (т. е. было «-5», надо сделать «5», было «2», надо сделать «-2»), для этого она сранивает число с его абсолютным значением и, если оно совпадает (значит число положительное), выводит это число с приделанным символом «-», если нет — то возвращает абсолютное значение.
Правильный ответ:
function turn($x) { return -$x }
не стоит того, чтобы оформлять его в функцию.
Что имел ввиду автор, когда писал «Because 5 + -10 = -10» я не знаю, надо Смирнова спросить, он понимает язык идиотов.
опечатка, очевидно
Комментарий для vkv.livejournal.com:
Я на код смотрю, поэтому не уверен :)
Это же не пример функции {return -$x}, а пример использования abs(). Хотя и не самый лучший.
а «5+-10» в php случайно ошибку не выдаст?... вместо «-10»?
Комментарий для www.johan.pp.ru:
Это не пример. Это решение проблемы, используя функцию abs.
В php много рака мозга. Одна система именования чего стоит — где-то functionName а где-то function_name. И вот это ещё — http://www.php.net/manual/en/array.sorting.php
Комментарий для masterspammer.livejournal.com:
Да, я в курсе, что с именованием там, беда, всё-таки писал на нём много лет. Конкретно именование — очень просто решаемый вопрос, обвязать всё объектами и сделать нормальные методы.
Комментарий для astur.net.ru:
Не, не выдаст.
Вот вам комментируемые руководства, ага.
Сколько раз в эти комметарии не заглядывал, столько раз удивлялся что так сделано, а не как в Perl и CPAN, например.
Ну да, написать книгу по Perl’у с умными комментариями и нетривиальными примерами не каждый может, зато с PHP любой может прославится на весь мир, просто оставив комментарий на странице руководства.
Аудиторию, опять же, сравнить можно :)
Комментарий для jankkhvej.blogspot.com:
Там сильно не хватает модерации. За годы оно превратилось в сборник маразмов.
По-человечески, модерации не хватает и на stackoverflow, и тем более на хабрахабре. Но они же не официальная документация. Это как бы взять и разрешить всем ГОСТы комментировать. Или RFC.
А теперь поди найди Геракла, чтоб расчистить-то...
Может быть всё-таки return -abs($x)?
Комментарий для greli.livejournal.com:
Нет.
Комментарий для greli.livejournal.com:
Ну, я так полагаю (по названию функции), что она должна менять знак числа.