Не совсем, и это не будет хорошей идеей.Представьте себе:
(let [{:all-the-keys} m]
(foo bar))
Являются ли foo и bar глобальными?Местные жители?Ключи, которые вы должны извлечь из м?Что должен делать этот код, если m иногда содержит клавишу foo, а foo также является глобальной функцией?Иногда вы вызываете глобальную, а иногда вызываете функцию, хранящуюся в m?
Игнорируя технические проблемы (большинство из которых, вероятно, можно преодолеть), это действительно катастрофа для читаемости и предсказуемости.Просто объясните, какие ключи вы хотите извлечь;если вы часто хотите вытащить одни и те же десять клавиш, вы можете написать простой макрос типа (with-person p body)
, который упростит вам этот общий случай.