--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» я не знаю, надо Смирнова спросить, он понимает язык идиотов.

Читайте также

Сенсор внезапного движения
Очень давно, на всех носимых устройствах, оснащённых жёстким диском (ноута, смартфонах) появился сенсор внезапного движения. В жёстком диске считывающая головка находится, не касаясь, над поверхностью диска с данными.
2013
Берём «Макбук» со стола, экран гаснет или блокируется
В предыдущей заметке я писал, что обнаружил сенсор внезапного движения у своего «Макбука». Решил извлечь практическую пользу из этого — написал программу на Си, которая отправляет ноут в спячку, стоит поднять его со стола:
2013
График Gangnam Style
PHP-реализация математической функции, график которой образует фигуру танцора из Gangnam Style. Фигура танцора Gangnam Style, построенная параметрическими функциями
2013

Комментарии 14

masterspammer.livejournal.com № 6
В php много рака мозга. Одна система именования чего стоит — где-то functionName а где-то function_name. И вот это ещё — http://www.php.net/manual/en/array.sorting.php
Евгений Степанищев (bolknote.ru) автор № 7
Да, я в курсе, что с именованием там, беда, всё-таки писал на нём много лет. Конкретно именование — очень просто решаемый вопрос, обвязать всё объектами и сделать нормальные методы.
jankkhvej (jankkhvej.blogspot.com) № 9
Вот вам комментируемые руководства, ага.
Сколько раз в эти комметарии не заглядывал, столько раз удивлялся что так сделано, а не как в Perl и CPAN, например.
Ну да, написать книгу по Perl'у с умными комментариями и нетривиальными примерами не каждый может, зато с PHP любой может прославится на весь мир, просто оставив комментарий на странице руководства.
Аудиторию, опять же, сравнить можно :)
jankkhvej (jankkhvej.blogspot.com) № 11
По-человечески, модерации не хватает и на stackoverflow, и тем более на хабрахабре. Но они же не официальная документация. Это как бы взять и разрешить всем ГОСТы комментировать. Или RFC.

А теперь поди найди Геракла, чтоб расчистить-то…
greli.livejournal.com № 12
Может быть всё-таки return -abs($x)?