Что означает `#:` в Guile?
Я обычно использую схему MIT/GNU, но нашел некоторый код Guile в github ( guile-2d).
(define main-menu
(make-scene
"Main Menu"
#:init create-menu
#:enter menu-enter
#:exit menu-exit
#:draw draw-menu
#:update update-menu
#:events `((key-down . ,menu-key-down))))
Сначала я проверил ссылку на схему MIT/GNU, которая вызвала дополнительные нотации, но не имела ничего общего с #:
в этом.
Затем я просмотрел руководство по Guile и обнаружил несколько упоминаний (" Команды профиля", "Команды отладки"), которые выглядели так, как будто в них указаны необязательные аргументы? Что-то похожее на это в Python:
def foo(test):
return test
foo(bar="test")
Кто-нибудь знает наверняка, что это значит?
2 ответа
Решение
Это просто синтаксис для ключевых аргументов Guile. Посмотрите на документацию для более подробной информации.