closures- все статьи тега
Когда использовать `each` и когда использовать цикл ' for` в Groovy
Когда мы используем замыкание each и когда мы используем цикл for в Groovy. Оба эффективно делают одно и то же. groovy:000> a = [1, 2, 3, 4] ===> [1, 2, 3, 4] groovy:000> a.each { groovy:001> println it groovy:002> } 1 2 3 4 ===> [1, 2, 3, 4] groovy:000> for (it in a) { groovy:001> println it groovy:002> } 1 2 3 4 ===> null Закрытие each возвращает список. Так что я, вероятно, могу использовать его вместо цикла for, но не наоборот, правильно? ...
Swift @escaping и обработчик завершения
[Swift] Привет, я пытаюсь понять "закрытие" Swift более точно. Но @escaping и Completion Handler слишком трудно понять Я просмотрел много быстрых сообщений и официальных документов, но я чувствовал, что этого все еще недостаточно. Это кодовый пример официальных документов var completionHandlers: [()->Void] = [] func someFunctionWithEscapingClosure(completionHandler: @escaping ()->Void){ completionHandlers.append(completionHandler) } func someFunctionWithNoneescapingClosure(cl ...
Почему полезны лямбды Python? [закрытый]
Я пытаюсь выяснить Python lambdas. Является ли лямбда одним из тех "интересных" языковых предметов, которые в реальной жизни должны быть забыты? Я уверен, что есть некоторые крайние случаи, когда это может быть необходимо, но учитывая неясность этого, потенциал его переопределения в будущих версиях (мое предположение основано на различных определениях этого) и уменьшенной ясности кодирования - следует ли этого избегать? Это напоминает мне о переполнении (переполнение буфера) типов C - указ ...
Статические переменные в JavaScript
Как я могу создать статические переменные в JavaScript? ...
Какова цель самоисполняющейся функции в javascript?
в javascript, когда бы вы хотели использовать это: (function(){ //Bunch of code... })(); за это: //Bunch of code... ...
Какова ближайшая замена указателя функции в Java?
У меня есть метод, который около десяти строк кода. Я хочу создать больше методов, которые делают точно то же самое, за исключением небольшого вычисления, которое изменит одну строку кода. Это идеальное приложение для передачи указателя функции, чтобы заменить эту одну строку, но Java не имеет указателей функций. Какая у меня лучшая альтернатива? ...
Рекурсивные анонимные функции PHP
возможно ли иметь функцию PHP, которая является одновременно рекурсивной и анонимной? Это моя попытка заставить его работать, но он не проходит в имя функции. $factorial = function( $n ) use ( $factorial ) { if( $n <= 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 ); Я также знаю, что это плохой способ реализации факториала, это просто пример. ...
Как использовать Swift @autoclosure
я заметил, когда пишу assert в SWIFT, что первое значение вводится как @autoclosure() -> Bool С перегруженным методом для возврата общего T значением, чтобы проверить существование через LogicValueprotocol. однако строго придерживаясь вопроса под рукой. Кажется, он хочет @autoclosure что возвращает Bool. написание фактического закрытия, которое не принимает никаких параметров и возвращает Bool, не работает, он хочет, чтобы я вызвал закрытие, чтобы сделать он компилируется, вот так: ass ...
Как я должен вызвать 3 функции, чтобы выполнить их одну за другой?
если мне нужно вызвать эту функцию одну за другой, $('#art1').animate({'width':'1000px'},1000); $('#art2').animate({'width':'1000px'},1000); $('#art3').animate({'width':'1000px'},1000); Я знаю, что в jQuery я мог бы сделать что-то вроде: $('#art1').animate({'width':'1000px'},1000,'linear',function(){ $('#art2').animate({'width':'1000px'},1000,'linear',function(){ $('#art3').animate({'width':'1000px'},1000); ...
Зачем нам нужны волокна
для волокон мы получили классический пример: генерация чисел Фибоначчи fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield y x,y = y,x+y end end зачем нам нужны волокна здесь? Я могу переписать это с тем же Proc (закрытие, на самом деле) def clsr x, y = 0, 1 Proc.new do x, y = y, x + y x end end так 10.times { puts fib.resume } и prc = clsr 10.times { puts prc.call } вернет точно такой же результат. Итак, каковы преимущества волокон. Что я могу ...
Указатели функций, замыкания и лямбда
Я только сейчас узнаю о указателях функций, и, когда я читал главу K&R по этому вопросу, первое, что меня поразило, было: "Эй, это похоже на закрытие."Я знал, что это предположение в корне неверно, и после поиска в Интернете я не нашел действительно никакого анализа этого сравнения. Итак, почему указатели функций C-стиля принципиально отличаются от замыканий или лямбд? Насколько я могу судить, это связано с тем, что указатель на функцию по-прежнему указывает на определенную (именованную) ф ...
Идентификатор foreach и замыкания
в двух следующих фрагментах, является первым безопасным или вы должны сделать второй? под безопасным я имею в виду, что каждый поток гарантированно вызывает метод на Foo из той же итерации цикла, в которой был создан поток? или вы должны скопировать ссылку на новую переменную "local" для каждой итерации цикла? var threads = new List<Thread>(); foreach (Foo f in ListOfFoo) { Thread thread = new Thread(() => f.DoSomething()); threads.Add(thread); thread.Start(); } ...
Когда закрытие реализует Fn, FnMut и FnOnce?
что такое особые условия для закрытия для реализации Fn,FnMut и FnOnce признаков? что есть: когда происходит закрытие не реализовать FnOnce черта? когда происходит закрытие не реализовать FnMut черта? когда происходит закрытие не реализовать Fn черта? например, мутации состояние закрытия на его теле делает компилятор не реализовать Fn на нем. ...
Изменяемая переменная доступна из закрытия. Как я могу это исправить?
Я использую Typeahead от twitter. Я сталкиваюсь с этим предупреждением от Intellij. Это вызывает окно".местоположение.href " для каждой ссылки, чтобы быть последним пунктом в моем списке элементов. Как я могу исправить мой код? Ниже приведен мой код: AutoSuggest.prototype.config = function () { var me = this; var comp, options; var gotoUrl = "/{0}/{1}"; var imgurl = '<img src="/icon/{0}.gif"/>'; var target; for (var i = 0; i < me.targets.length; i++) { ...