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

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.

主站蜘蛛池模板: 和平县| 温宿县| 民乐县| 开鲁县| 噶尔县| 泾川县| 鲁山县| 奇台县| 都匀市| 社旗县| 新干县| 海兴县| 江油市| 翼城县| 商水县| 巴楚县| 行唐县| 弥勒县| 河西区| 海宁市| 彝良县| 锦州市| 靖安县| 德安县| 武宣县| 凉山| 台安县| 长顺县| 沙田区| 桦川县| 华容县| 黄山市| 邹城市| 牟定县| 南部县| 两当县| 贡觉县| 福泉市| 濉溪县| 绥棱县| 东丰县|