在球拍中,可能有多个事件处理程序发生爆炸吗?

时间:2018-12-07 04:17:30

标签: racket eventhandler

我想在每个刻度上做两种不同的事情。在大爆炸环境中是否可以有多个即时事件处理程序?

这就是我想做的:

$("#top").on("click", function(){
  $("#form").append("<label>some label: </label><input type=\"text\" id=\"myinput\">");
});

$("#btm").on("click",function(){
    $("#myinput").val("<div>I will not appear</div>");
});

(big-bang world

  (on-draw show-world)

  (on-tick event1 event2 1))

这两种方法均不允许。有办法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

这是什么意思?

例如,假设

;; A World is a Nat (a natural number).

这是两个刻度处理程序:

;; advance-by-one : World -> World
(define (advance-by-one w)
  (add1 w))

;; reset-at-ten : World -> World
(define (reset-at-ten w)
  (if (< w 10) w 0))

如果当前世界是9,那么您期望下一个世界是什么? (我可以想到两个合理的答案;您必须选择一个。)

您可以定义另一个具有所需含义的函数,然后仅使用该(单个)函数作为刻度处理程序吗? (提示:您应该使用现有的两个处理函数,而不要尝试将它们的定义合并为一个大函数。)

(如果您已到达ISL :)如果您想将三个处理程序或四个或十个处理程序组合在一起,该怎么办?您可以设计一个包含一系列处理程序并生成单个处理程序功能的函数吗?