Привязка не добавляет слова в контекст, если вы не скажете это - вы должны использовать bind/new
.
>> get bind/new to-word "email?" bind? 'system
Но ваш вопрос показывает несколько неправильных представлений о модели привязки R3. В R3 нет единого глобального контекста, не похожего на R2. Слово 'system
в вашем примере связано с контекстом общего сценария локальной задачи, он же пользовательский контекст. А получение правильного значения слов в контексте пользователя часто означает их импорт из системного контекста или экспорта загруженных модулей, процесс, известный как interning the words.
Чтобы сделать то, что вы, очевидно, хотите сделать здесь, лучше всего использовать intern
, например:
>> get first intern to-block "email?"
to-block
используется, потому что intern
обычно используется для работы с целыми блоками кода. Я исправлю это в следующей версии, чтобы он мог работать и со словами напрямую; тогда вы сможете сделать это:
>> get intern to-word "email?"
Надеюсь, это поможет.
Почему вы не используете слово напрямую? Использование строк и преобразование в слова позже приводит к большим накладным расходам, которые обычно не нужны.