Запитання з тегом «closures»

Закриття - це функція першого класу, яка посилається на (перекриває) змінні з тієї області, в якій вона була визначена. Якщо закриття все-таки існує після закінчення його визначення області, змінні, які він закриває, будуть також існувати.

7
Закриття в Java 7 [закрито]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 2 роки тому . Удосконаліть це питання Що таке закриття? Він повинен бути включений в Java 7. (Закриття обговорювались для включення в …
105 java  closures 

4
Локальні змінні в вкладених функціях
Гаразд, поводься зі мною, я знаю, що це буде виглядати жахливо перекрученим, але, будь ласка, допоможи мені зрозуміти, що відбувається. from functools import partial class Cage(object): def __init__(self, animal): self.animal = animal def gotimes(do_the_petting): do_the_petting() def get_petters(): for animal in ['cow', 'dog', 'cat']: cage = Cage(animal) def pet_function(): print "Mary …

7
Блоки на Swift (animateWithDuration: анімація: завершення :)
У мене виникають проблеми з тим, щоб блоки працювали на Swift. Ось приклад, який працював (без блоку завершення): UIView.animateWithDuration(0.07) { self.someButton.alpha = 1 } або ж без останнього закриття: UIView.animateWithDuration(0.2, animations: { self.someButton.alpha = 1 }) але як тільки я спробую додати блок завершення, він просто не вийде: UIView.animateWithDuration(0.2, animations: …
102 ios  swift  closures 

1
Доступ до модифікованого закриття (2)
Це розширення питання від доступу до модифікованого закриття . Я просто хочу перевірити, чи є наступне дійсно досить безпечним для використання у виробництві. List<string> lists = new List<string>(); //Code to retrieve lists from DB foreach (string list in lists) { Button btn = new Button(); btn.Click += new EventHandler(delegate { …
101 c#  .net  resharper  closures 

2
Для чого потрібні волокна
Для Волокна ми отримали класичний приклад: генерування чисел Фібоначчі 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 …
101 ruby  lambda  closures  fibers  proc 

6
Як називається цей шаблон JavaScript і для чого він використовується?
Я вивчаю THREE.js і помітив шаблон, де функції визначені так: var foo = ( function () { var bar = new Bar(); return function ( ) { //actual logic using bar from above. //return result; }; }()); (Приклад см метод raycast тут ). Нормальне зміна такого методу буде виглядати наступним …

2
Swift @escaping та завершення обробки
Я намагаюся зрозуміти «закриття» Свіфта точніше. Але @escapingі Completion Handlerїх занадто важко зрозуміти Я шукав багато поштових повідомлень Свіфта та офіційні документи, але відчув, що цього ще недостатньо. Це приклад коду офіційних документів var completionHandlers: [()->Void] = [] func someFunctionWithEscapingClosure(completionHandler: @escaping ()->Void){ completionHandlers.append(completionHandler) } func someFunctionWithNoneescapingClosure(closure: ()->Void){ closure() } class …

2
Доступ до зовнішньої змінної, використовуючи анонімну функцію як парами
В основному я використовую цю зручну функцію для обробки db рядків (закрийте око на PDO та / або інші речі) function fetch($query,$func) { $query = mysql_query($query); while($r = mysql_fetch_assoc($query)) { $func($r); } } З цією функцією я можу просто виконувати: fetch("SELECT title FROM tbl", function($r){ //> $r['title'] contains the title …
93 php  closures  scope 

1
Попередження про клітинку var-from-loop від Pylint
Для наступного коду: for sort_key, order in query_data['sort']: results.sort(key=lambda k: get_from_dot_path(k, sort_key), reverse=(order == -1)) Пілінт повідомив про помилку: Змінна комірки sort_key, визначена у циклі (cell-var-from-loop) Хтось міг би натякнути, що тут відбувається? З вихідного коду pylint опис: Змінна, яка використовується у закритті, визначається у циклі. Це призведе до того, …


12
Покажчики функцій, замикання та лямбда
Я тільки зараз дізнаюся про покажчики функцій, і, коли я читав розділ K&R на цю тему, перше, що мене вразило, було: "Гей, це як би закриття". Я знав, що це припущення якимось чином неправильно, і після пошуку в Інтернеті я не знайшов насправді жодного аналізу цього порівняння. То чому вказівники …

6
Згладжування функції JavaScript, схоже, не працює
Я просто читав це запитання і хотів спробувати метод псевдоніма, а не метод-обгортки, але, здається, я не міг змусити його працювати як у Firefox 3, так і в 3.5beta4, або в Google Chrome, як у вікнах налагодження, так і на тестовій веб-сторінці. Пожежна помилка: >>> window.myAlias = document.getElementById function() >>> …

13
Чи можете ви пояснити закриття (як це стосується Python)?
Я багато читав про закриття, і думаю, що їх розумію, але, не затьмарюючи картини для себе та інших, я сподіваюся, хтось може пояснити закриття якомога коротше і чіткіше. Я шукаю просте пояснення, яке могло б допомогти мені зрозуміти, де і чому я хотів би їх використовувати.

8
Чи є за замовчуванням JDK 8 формою багаторазового успадкування в Java?
Нова функція JDK 8 дозволяє додавати до існуючого інтерфейсу, зберігаючи двійкову сумісність. Синтаксис подібний public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } Таким чином, для всіх існуючих реалізацій, SomeInterfaceколи вони оновлюються до нової версії, у них не всі раптом виникають помилки компіляції newInterface(). Хоча це акуратно, що …

8
Закриття в PHP ... що, власне, це і коли вам потрібно буде ними скористатися?
Тож я програмую в приємній, сучасній, об’єктно-орієнтованій манері. Я регулярно використовую різні аспекти ООП, які реалізує PHP, але мені цікаво, коли, можливо, мені доведеться використовувати закриття. Будь-які експерти, які можуть пролити світло на те, коли було б корисно здійснити закриття?
82 php  oop  closures 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.