Питання: Коли, якщо коли - небудь, є корисним гострим процитувати lambda, і коли, якщо коли - небудь, ми повинні НЕ гострими процитувати lambda?
Люди використовують lambdas трьома способами:
- звичайний:
(lambda (x) x) - цитується:
'(lambda (x) x) - різко цитується:
#'(lambda (x) x)
Цей потік SO обговорює три типи, цей потік SO пояснює, чому не слід цитувати (NB: не гостре цитування ) lambdas, і цей потік SO також обговорює відмінності між цитуванням та різким цитуванням.
Тепер, ручний вузол на анонімних функціях та доктрину для lambdaзауваження, що lambdas самоцитуються:
Дзвінок форми
(lambda ARGS DOCSTRING INTERACTIVE BODY)- це самоцитування; результатом оцінки лямбда-виразу є сам вираз. Вираз лямбда може потім трактуватися як функція ...
Отже, виявляється, що (lambda (x) x)і #'(lambda (x) x)є рівнозначними, але '(lambda (x) x)це не так (головне, коли байт-компіляція).
Схоже , що один рідко хочете процитуватиlambda , але незрозуміло мені , коли, якщо коли - небудь, ми повинні або не повинні, з гострими цитую:
- Чи різке цитування - це
lambdaпросто стилістичний вибір, чи існують обставини, коли різке цитування насправді корисне? - Чи існують обставини, за яких ми не повинні чітко цитувати a
lambda, тобто коли це буде змінювати значення коду?