2013-09-07 5 views
2

Я уже возился с этой программой. Он принимает число и добавляет 1 к нему. Мне интересно, как именно вы могли бы использовать здесь stop-when? Например, чтобы остановить его на 5? Я предполагаю, что здесь требуется утверждение cond. Благодарю.используя стоп-когда в ракетке

(require 2htdp/image) 
(require 2htdp/universe) 

(define (my-tick n) 
(add1 n)) 

(define (my-render n) 
    (text (number->string n) 36 "silver")) 


(big-bang 1 (on-tick my-tick 2) (to-draw my-render)) 

ответ

2

Дает stop-when предикат, который потребляет мир и возвращает true или false.

Для получения дополнительной информации см. Документы here.

Вот версия вашего примера, который останавливается в 5:

(require 2htdp/image) 
(require 2htdp/universe) 

(define (my-tick n) (add1 n)) 

(define (my-render n) 
    (text (number->string n) 36 "silver")) 

(define (=5 n) (= n 5)) 

(big-bang 1 (on-tick my-tick 2) (to-draw my-render) (stop-when =5)) 
Смежные вопросы