LINUX.ORG.RU
ФорумTalks

Лямбда-выражения для идиота


2

5

В последнее время только и слышу о новых ЯП с поддержкой лямбда-выражений, это что - мода такая или оно действительно резко стало нужно?

Поясните пожалуйста мне смысл сабжа и область его применения. Вики читал, но там как всегда мудрено написано.

Да просто все.
Вот ты заходишь в отдел где всяческие шампуни, гели для душа, мылы...
И тебя накрывает. На полках «Гель для туловища», «Для интимной гигиены», «Для ног», «Для рук»... Ты думаешь: - Окак! Надо чтоб помытьсмя 5 флаконов! Да у меня на крмане столько нету!
А на самом деле, тебе нужен только один флакон, ибо ты нормальный мужик, и тебе просто помыться надо.

Так и лямбда функции. Они есть, но тебе нахрен не нужны, ибо толку от них... только чтоб накрыло когда свой код через год читать будешь.

vada ★★★★★
()
Ответ на: комментарий от vada

Так и лямбда функции. Они есть, но тебе нахрен не нужны, ибо толку от них... только чтоб накрыло когда свой код через год читать будешь.

Да-да куда проще разобраться в цикле, который строит какую-нибудь сложную структуру по данным полученным выборкой из N последовательнсотей по нетривиальному критерию, чем в композиции трёх функций.

Begemoth ★★★★★
()
Ответ на: комментарий от vada

>А на самом деле, тебе нужен только один флакон, ибо ты нормальный мужик, и тебе просто помыться надо.

Дай угадаю, голову хозяйственным мылом моешь и яйца вытираешь тем же полотенцем что и голову?

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Begemoth

Топикстартер, если хочешь, можешь обратить внимание на лисп (Practical Common Lisp http://lisper.ru/pcl/). Открой раздел где описывается функция mapcar. Лямбда является её логическим развитием.

Мне помогла разобраться вот эта лекция:
http://www.cad.dp.ua/kurs/LECTURE6/lecture6.html

Со слов: «Одноразовая» функция создается функцией Лиспа LAMBDA:

Вот тут конкретно по лямбде:
http://autolisp.ru/2009/09/16/lambda-functions/

baaba ★★★
()
Ответ на: комментарий от baaba

Сплюнь. Разбираться с лямбдами по лиспу - не лучшая идея, имхо. Для этого есть отличный курс лекций Джона Харрисона(начало с лямбдами читается за вечер), вот перевод : http://code.google.com/p/funprog-ru/downloads/list

Norgat ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

>Насчет полотенца тоже верно.

Раздельные полотенца для головы и тела одно из требований к цивилизованному человеку

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Begemoth

На самом деле штука удобная. Я частенько пользую. Но, зараза, получается искючительно как костыль.
Например, месяц строишь uml. Ну кажется все продумал. Патернов нацеплял. Красиво шо пипец получается. Чуствуешь себя умным, ну прям старшира сверхсрочник.
И в один прекрасный момент делая new() для красивейше реализованного класса. Краса и гордость всего проекта, понимаешь, что этому классу нужен доступ к приватным свойствам хозяйского класса. Аж пот прошибает! Билиать!!!.. Вот зараза!
Городить какой-то новый огород как -то совсем не в тему. Остается внутри скобочек new() описать наследника зашибительского класса, перекрыв пару пустячных метода. Фублин.. Отпустило.
А вот заранее так запроектировать чтоба эти лямды изначально задумать, ни разу не удалось.

vada ★★★★★
()
Ответ на: комментарий от vada

Например, месяц строишь uml. Ну кажется все продумал.

Не совсем понятно где при проектировании могут вылезти лямбды. При проектировании определяются типы, а как именно ты запишешь функцию с требуемым типом - вопрос отдельный.

Begemoth ★★★★★
()
Ответ на: комментарий от DNA_Seq

:) вытирают вообще сначала голову, потом яйца. А что б не было неприятно после яиц вытирать голову, их мыть нужно хорошо и полотенца почаще менять.

mrdeath ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.