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

vkv.livejournal.com (vkv.livejournal.com)
23 декабря 2009, 16:18

опечатка, очевидно

bolk (bolknote.ru)
23 декабря 2009, 16:38, ответ предназначен vkv.livejournal.com:

Я на код смотрю, поэтому не уверен :)

Johan (www.johan.pp.ru)
23 декабря 2009, 16:51

Это же не пример функции {return -$x}, а пример использования abs(). Хотя и не самый лучший.

astur (astur.net.ru)
23 декабря 2009, 17:10

а "5+-10" в php случайно ошибку не выдаст?... вместо "-10"?

bolk (bolknote.ru)
23 декабря 2009, 17:40, ответ предназначен Johan (www.johan.pp.ru):

Это не пример. Это решение проблемы, используя функцию abs.

masterspammer.livejournal.com (masterspammer.livejournal.com)
23 декабря 2009, 17:46

В php много рака мозга. Одна система именования чего стоит - где-то functionName а где-то function_name. И вот это ещё - http://www.php.net/manual/en/array.sorting.php

bolk (bolknote.ru)
23 декабря 2009, 18:02, ответ предназначен masterspammer.livejournal.com:

Да, я в курсе, что с именованием там, беда, всё-таки писал на нём много лет. Конкретно именование — очень просто решаемый вопрос, обвязать всё объектами и сделать нормальные методы.

bolk (bolknote.ru)
23 декабря 2009, 20:10, ответ предназначен astur (astur.net.ru):

Не, не выдаст.

jankkhvej (jankkhvej.blogspot.com)
26 декабря 2009, 19:05

Вот вам комментируемые руководства, ага.
Сколько раз в эти комметарии не заглядывал, столько раз удивлялся что так сделано, а не как в Perl и CPAN, например.
Ну да, написать книгу по Perl'у с умными комментариями и нетривиальными примерами не каждый может, зато с PHP любой может прославится на весь мир, просто оставив комментарий на странице руководства.
Аудиторию, опять же, сравнить можно :)

bolk (bolknote.ru)
26 декабря 2009, 22:19, ответ предназначен jankkhvej (jankkhvej.blogspot.com):

Там сильно не хватает модерации. За годы оно превратилось в сборник маразмов.

jankkhvej (jankkhvej.blogspot.com)
27 декабря 2009, 10:55

По-человечески, модерации не хватает и на stackoverflow, и тем более на хабрахабре. Но они же не официальная документация. Это как бы взять и разрешить всем ГОСТы комментировать. Или RFC.

А теперь поди найди Геракла, чтоб расчистить-то...

greli.livejournal.com (greli.livejournal.com)
9 января 2010, 20:33

Может быть всё-таки return -abs($x)?

bolk (bolknote.ru)
9 января 2010, 23:46, ответ предназначен greli.livejournal.com:

Нет.

bolk (bolknote.ru)
9 января 2010, 23:47, ответ предназначен greli.livejournal.com:

Ну, я так полагаю (по названию функции), что она должна менять знак числа.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)