15.3.1 读取值
来源:互联网 发布:网络用语2016 三个字的 编辑:程序博客网 时间:2024/06/14 07:55
15.3.1 读取值
计算行为在给定时间的值很容易,其内部表示为一个函数,取时间作为参数值,计算出值,所以,我们需要执行这个函数。清单 15.7 显示函数,叫 readValue,取时间和行为作为参数,返回行为的值。有了这个函数,就可以从我们先前创建的基元行为中读取值。
Listing 15.7 Reading values of behaviors at the specified time (F# Interactive)
> let readValue time (BehaviorFunc bfunc) =
bfunc { Time = time };;
val readValue : float32 -> Behavior<'a> –> 'a
> 42.0f.forever |> readValue 1.5f;;
val it : System.Single = 42.0f
> time |> readValue 1.5f;;
val it : float32 = 1.5f
> wiggle |> readValue 1.5f;;
val it : float32 = -1.0f
清单 15.7 中的函数取行为作为第二个参数,使用流运算符,有可能使函数调用更优雅。我们使用模式匹配提取由行为所携带的函数,传递给这个函数。下一步,构建一个 BehaviorContext 值,打包给定的时间,并将它作为参数值,传递给这个函数,它可以计算在指定的时间的行为值。
清单 15.7 其余部分显示,用我们早先实现的基元行为,计算出的值。常量行为不出所料,time 基元在 1.5 秒后返回 1.5,wiggle 值的最低点是 –1.0f。交互式开发模式再一次帮助我们,确保开始有正确的代码。读取基元行为的值,是一个良好的开端,但是,如何可以创建更复杂的行为呢?假设我们想要创建行为表示当前时间的平方。我们可以使用 sample 来写,但是相当复杂,我们希望对最终用户隐藏细节。理想情况下,我们想要应用 square 函数到行为。
- 15.3.1 读取值
- 13.4.1 读取值
- 13.4.1 读取值
- 13.4.1 读取值
- 读取exec返回值
- 读取注册表值
- 读取exec返回值
- xml读取字段值
- 读取radio值
- 读取node节点值
- C#读取datatable值
- 写入读取Cookie值
- js读取Cookie值
- 批处理读取ini值
- dom读取属性值
- 读取注册表值
- 写入读取Cookie值
- Registry 值的读取
- silverlight datagrid 模拟单元格双击事件
- linux 目录结构
- CCF推荐的会议(写论文有用)
- 终于了解到不用mvc框架的代码是多么难维护了
- 渲染到纹理(render to texture)
- 15.3.1 读取值
- ubuntu安装jdk全过程(仅供参考)
- 初识MD5
- jqGrid 学习笔记--数据异步加载方法 随笔1
- .configure/make/make install的作用
- android中SDK的DigitalClock存在内存泄漏
- linux下多定时器源码
- ORACLE----触发器,存储过程及JOB
- Page is already covered by another Data Binder. Cannot be covered by this Data Binder again