Почему я получаю неопределенную ошибку 5.1 / 5.1 при использовании формул? - PullRequest
0 голосов
/ 10 сентября 2018

У меня проблема с ошибкой, которую я получаю, пытаясь использовать формулы в ракетке.Там написано:

; lifted/5.1: undefined;
;  cannot reference an identifier before its definition
;   in module: top-level
;   internal name: lifted/5.1

Ничто в моем коде не названо "поднято" или "5.1" или любой их комбинацией.Я думаю, что это что-то внутри черного ящика с формулами, с которым я сталкиваюсь, но я не знаю, что.

; set up
(require web-server/servlet web-server/servlet-env)
(require web-server/formlets)

; body of program
(define simpleformlet 
   (formlet 
     (#%#
       "Name: " ,{input-string . => . name}
       "Number: " ,{input-int . => . number})
       (name number)))

(define (start request)
  (showpage request))

(define (showpage request)
  (define (responsegen embed/url)
    (response/xexpr
      `(html
         (head (title "App3"))
         (body (h1 "Let's try this...")
               (form
                 ([action ,(embed/url actionhandler)] 
                  [method "POST"])
                 ,@(formlet-display simpleformlet)
                 (input ([type "submit"])))))))

  (define (actionhandler request)
    (define-values (name number)
               (formlet-process simpleformlet request))
    (response/xexpr
      `(html
         (head (title "Alright!"))
         (body (h2 "name")
               (p ,name)
               (h2 "number")
               (p ,number)))))
  (send/suspend/dispatch responsegen))

; run it!
(serve/servlet start
    #:servlet-regexp #rx""
    #:servlet-path "/form")

1 Ответ

0 голосов
/ 10 сентября 2018

Я добавил строку

#lang racket

вверху вашей программы. Используется «Определить язык из источника» в левом нижнем углу DrRacket. И запустил вашу программу. Открылось окно браузера, и мне удалось ввести имя и номер, прежде чем я получил ощутимую ошибку.

Я использую Racket версии 6.12, поэтому, если вы используете более старую версию Racket, обновитесь и попробуйте снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...