2010-06-25 2 views
2

Мне нравится программа DrRacket IDE, но в настоящее время я создаю проект домашнего животного, в котором я хотел бы быть независимым от него, то есть мне поручено использовать только стандартные процедуры R5RS.DrRacket, R5RS и процедура ошибки

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

Я хотел бы знать, есть ли способ эмулировать эту процедуру «ошибки», используя только процедуры «Стандарты», чтобы код был переносимым между различными реализациями Схемы.

Я пробовал «отображение», но, похоже, это не совсем то, что я хочу, поскольку это не сигнализирует об ошибке при выводе.

ответ

3

Ну, в соответствии с этим: http://srfi.schemers.org/srfi-23/srfi-23.html, процедура ошибки довольно широко доступна, поэтому я думаю, что вы будете в безопасности, используя это.

+0

Спасибо, я не заметил. На этой странице много полезной информации, даже пример возможной реализации процедуры «ошибки». – Landau

+0

Забавно, что я нашел этот ответ, слушая Corvus Corax :) – mcmlxxxvi

4

Это реализация, что наш преподаватель дал нам:

;;; create binding for error 
(define error #f) 

;;; capture toplevel continuation 
;;; assign a function to error, allowing a variable number of arguments to 
;;; be passed 
(call-with-current-continuation (lambda (k) 
       (set! error 
       (lambda error-arguments 
        (display ">>>> ERROR ") 
        (newline) 
        (k error-arguments))) 
       'done)) 

 Смежные вопросы

  • Нет связанных вопросов^_^