В Scheme какой смысл «установить!»?
Обычно define
не разрешается использовать scheme переменную более одного раза. Большинство scheme REPL позволяют это для удобства, когда scheme вы пробуете что-то, но если scheme вы попытаетесь сделать это scheme в программе на схеме, это scheme приведет к ошибке.
Например, в scheme mzscheme программа
#lang scheme
(define x 1)
(define x 2)
выдает scheme ошибку
test.ss:3:8: module: duplicate definition for identifier at: x in: (define-values (x) 2)
Кроме того, define
имеет scheme другое значение при использовании scheme внутри других контекстов. Программа
#lang scheme
(define x 1)
x
(let ()
(define x 2)
x)
x
имеет scheme вывод
1
2
1
Это связано с тем, что scheme элементы define
внутри определенных scheme конструкций фактически обрабатываются scheme как элементы letrec
.
scheme
В Scheme какой смысл «установить!»?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.