Что означает `#:` в 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. Посмотрите на документацию для более подробной информации.

Это синтаксис ключевого аргумента, введенный схемой PLT 4.

Другие вопросы по тегам