Jul 22
Еще немного помучал PHP 5.3 на тему Lambda-функций:
$array = array(1, 2, 3);
$array = array_map(function($v) { return $v * $v; }, $array);
var_dump($array);
array(3) {
[0]=>
int(1)
[1]=>
int(4)
[2]=>
int(9)
}
I like that!





July 23rd, 2008 at 05:53
Это ж едрёнамать просто.
Ну я понимаю, что в пхп зачатки здравого смысла есть, но на фоне неебического количества функций stdlib’а генерирующих очень своеобразные сайд-эффекты, лямбды и замыкания в 5.3 смотрятся как пир во время чумы.
July 23rd, 2008 at 08:18
Да, функции к PHP клепали по-пьяни. Как еще объяснить различный порядок аргументов в похожих функциях (сейчас не вспомню).
July 23rd, 2008 at 15:54
Как-то грустно на такое смотреть, в сравнении с питоном, хотя бы:
array = map(lambda x: x*x, [1,2,3])
July 24th, 2008 at 14:19
Все так запутанно, прям и не понят сразу эти функции
July 24th, 2008 at 17:54
Собсно, а что вы ждал и от пхп?)
July 26th, 2008 at 00:52
semka
но на фоне неебического количества функций stdlib’а генерирующих очень своеобразные сайд-эффекты
Сильно сказано. Я думаю, многие хотели бы переделки stdlib’а в PHP в [хотя бы] модульную форму, не говоря уже об ООП, а также создания полноценных базовых типов типа array/string. :)
А вообще, если на функциональщине не зацикливаться (а также классах-обьектах) - то PHP - вполне себе хороший язык.
wiktar
array = map(lambda x: x*x, [1,2,3])
Принципиальной разницы между [1, 2, 3] и array(1, 2, 3) нет, обьявление lambda-functions в PHP будет ближе к обычным питоновским функциям, а не к ограниченной lambda. Так что - кому как.
August 5th, 2008 at 10:04
Оченно смахивает на Javascript
August 5th, 2008 at 23:08
Ага. А что, плохо что ли?)
August 5th, 2008 at 23:21
ненене, напротив. ИМХО, подобный синтаксис наиболее близок императивной природе языка (как и в случае с яваскриптом)