Racket: Объявление символов
Racket — не функциональный язык программирования. В нем есть настоящие переменные, которые можно изменять. Переменные создаются с помощью конструкции define и называются объявлениями.
(define id expr)
; id — идентификатор
; expr — выражениеНапример:
; define создаёт "объявление".
(define lang "racket")
(displayln lang) ; => racketЗначением объявления может быть как нормальная форма (значение), так и составная:
(define result (+ 7 (- 4 6)))
(displayln result) ; => 5define связывает имя (идентификатор) и значение следующего за ним выражения.
Имена объявлений, состоящие из нескольких слов, соединяют с помощью дефиса. В Lisp-языках повсеместно принят так называемый "kebab-case".
(define dangerous-year 1984)
(displayln dangerous-year) ; => 1984Для изменения значения объявления используется функция set!:
(set! lang "scheme")
(displayln lang) ; => schemeВ общем случае использовать set! не рекомендуется. Racket отлично поддерживает функциональную парадигму и всячески её поощряет. Код с переменными практически всегда легко заменяется на код с константами.
Задание
Создайте объявление, обозначающее "количество участников" (имя соорудите сами), присвойте ему значение 100 и распечатайте на экран.
Racket: Объявление символов
Racket — не функциональный язык программирования. В нем есть настоящие переменные, которые можно изменять. Переменные создаются с помощью конструкции define и называются объявлениями.
(define id expr)
; id — идентификатор
; expr — выражениеНапример:
; define создаёт "объявление".
(define lang "racket")
(displayln lang) ; => racketЗначением объявления может быть как нормальная форма (значение), так и составная:
(define result (+ 7 (- 4 6)))
(displayln result) ; => 5define связывает имя (идентификатор) и значение следующего за ним выражения.
Имена объявлений, состоящие из нескольких слов, соединяют с помощью дефиса. В Lisp-языках повсеместно принят так называемый "kebab-case".
(define dangerous-year 1984)
(displayln dangerous-year) ; => 1984Для изменения значения объявления используется функция set!:
(set! lang "scheme")
(displayln lang) ; => schemeВ общем случае использовать set! не рекомендуется. Racket отлично поддерживает функциональную парадигму и всячески её поощряет. Код с переменными практически всегда легко заменяется на код с константами.
Задание
Создайте объявление, обозначающее "количество участников" (имя соорудите сами), присвойте ему значение 100 и распечатайте на экран.
Ваше упражнение проверяется по этим тестам
#lang racket
(require "../../../src/tests.rkt")
(assert-output "100")Решение учителя откроется через:
20:00
