官术网_书友最值得收藏!

Signals and events

So far, we have been dealing with the idea of programs that react to user input. This is, of course, only a small subset of reactive systems, but is enough for the purposes of this discussion.

User input happens several times through the execution of a program: key presses, mouse drags, and clicks are but a few examples of how a user might interact with our system. All of these interactions happen over a period of time. FRP recognizes that time is an important aspect of reactive programs and makes it a first-class citizen through its abstractions.

Both signals (also called behaviors) and events are related to time. Signals represent continuous, time-varying values. Events, on the other hand, represent discrete occurrences at a given point in time.

For example, time is itself a signal. It varies continuously and indefinitely. On the other hand, a key press by a user is an event, that is, a discrete occurrence.

It is important to note, however, that the semantics of how a signal changes need not be continuous. Imagine a signal that represents the current (x,y) coordinates of your mouse pointer.

This signal is said to change discretely, as it depends on the user moving the mouse pointer—an event which isn't a continuous action.

主站蜘蛛池模板: 贵定县| 崇仁县| 商南县| 顺义区| 凭祥市| 永和县| 封开县| 科技| 安阳市| 嘉峪关市| 资溪县| 华池县| 兰溪市| 泸定县| 雷州市| 平凉市| 兴安盟| 定边县| 岚皋县| 台湾省| 盐山县| 托克托县| 邳州市| 鱼台县| 乐昌市| 宁国市| 锦州市| 民和| 杂多县| 宜城市| 宜州市| 文登市| 萨迦县| 若尔盖县| 新乡市| 元朗区| 宜黄县| 石林| 广东省| 东光县| 禄丰县|