Вдохновившись статьей Еще раз о каррировании и частичном применении в PHP, в голову пришла реализация частичного применения метода, именно метода, а не функции.
Читать полностью »
Рубрика «closure» - 2
IT Sea 2012 пройдет в Черногории
2012-07-30 в 13:43, admin, рубрики: actionscript, closure, erlang, Flash-платформа, it за рубежом, javascript, stage3d, конференция, функциональное программирование, Черногория, метки: actionscript, closure, erlang, it за рубежом, javascript, stage3d, конференция, фронтенд, функциональное программирование, ЧерногорияГлавная морская конференция в этом году пройдет 17-23 сентября в Черногории, городке Петровац.
IT Sea — это не только доклады и новые знакомства, это — креативная среда, море, солнце, экскурсии, посиделки у костра.
В программе:
- Круглый стол о будущем Frontend разработки, доклады о JavaScript, Flash (Stage3D), функциональном программировании (Erlang, Closure).
- Докладчики из Германии, России, Беларуси, Черногории, Македонии.
- Коллеги перебравшиеся жить в Черногорию поделятся своим опытом по смене обстановки и дадут несколько советов планирующим переезд.
- Конференц — зал, расположенный в старой венецианской крепости =)
Наглядный пример использования замыканий в PHP
2012-06-06 в 7:55, admin, рубрики: closure, php, замыкания, Песочница, метки: closure, PHP, замыкания Начиная с версии 5.3, PHP позволяет создавать замыкания. К сожалению, пример их использования в официальной документации http://www.php.net/manual/en/functions.anonymous.php (example 3) обладает редкой изощрённостью и надуманностью. Надеюсь, пример под катом поможет увидеть в замыканиях другое применение, кроме как с функциями типа array_map().
Читать полностью »
TodoMVC — «Hello, world» на стероидах
2012-04-18 в 11:42, admin, рубрики: AngularJS, backbone.js, closure, dojo, Ember.js, Ext.js, hello world, javascript, knockoutjs, mvc, Spine.js, Веб-разработка, метки: AngularJS, backbone.js, closure, dojo, Ember.js, Ext JS, hello world, knockoutjs, mvc, Spine.jsCуществует уже несколько десятков JavaScript-фреймворков для построения сложных приложений в браузере. Чтобы сравнить их между собой и выбрать наиболее подходящий, примитивного примера вроде классического «Hello, world» явно недостаточно. Более сложные и реалистичные примеры программ в книгах и документации каждого фреймворка могут сильно отличаться, и сравнивать их между собой затруднительно. Проект TodoMVC решает именно эту проблему. Это набор примеров реализации одного и того же простого, но вполне законченного веб-приложения с использованием разных фреймворков + эталонный пример на чистом JavaScript.
Приложение TodoMVC — это список дел. Дела можно добавлять, помечать как выполненные и удалять. Список должен сохраняться в локальном хранилище браузера. Приложение должно по возможности использовать стандартный шаблон HTML и CSS. Вот подробная спецификация приложения.
Читать полностью »
.NET / [Из песочницы] Closures и полное копирование объекта
2012-02-22 в 5:59, admin, рубрики: .net, closure, lambda, refactoring, метки: .net, c++, closure, lambda, refactoringСегодня передо мной встала задача сделать полную копию объекта, то есть DeepClone. Рассмотрим некоторый код и я покажу какие проблемы при этом могут возникнуть и как их решить.
Исходный класс:
class ClassForClone { //here are value type fields public readonly A a; public readonly Lazy<string> lazy; protected void Func1() { //to to something; } public ClassForClone(A a) { this.a = a; lazy = new Lazy<string>(() => { // some calculations Func1(); return a.SomeText; }); } }
Воспользуемся функцией побитового копирования полей объекта Object.MemberwiseClone(). Она избавляет нас от монотонной работы копирования полей, но все поля с ссылочными типамиЧитать полностью »