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