- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
响应式编程的循环原理 Martin Odersky 命题:变量足以对所有命令式程序进行建模。但是像循
环这样的控制语句呢?我们可以使用函数对它们进行建模。示例:下面是一个使用 while 循环的 S
cala 程序:
def power (x: Double, exp: Int): Double = { var r = 1.0 var i = exp while (i 0)
{ r = r * x; i = i -1 } r 在 Scala 中,while 是一个关键字。但是我们如何在使用函数时定义.
ne (称之为 WHILE)呢?
函数 WHILE 可以定义如下:
def WHILE (条件: = 布尔)(命令: = 单位): 单位 =
if (条件) { 命令 WHILE(条件)(命令)
别的 ()
注意:条件和命令必须按名称传递,以便在每次迭代中重新评估它们。
注意:WHILE 是尾递归的,因此它可以以恒定的堆栈大小进行操作。
编写一个实现重复循环的函数,其用法如下:
重复{命令
(健康)状况 )
它应该执行命令一次或多次,直到条件为真。
编写一个实现重复循环的函数,其用法如下: REPEAT { command } ( condition ) 它应该执行
command 一次或多次,直到条件为真。 REPEAT 函数的开头如下: def REPEAT(command: = Unit)
(condition: = Boolean) =
是否也可以获得以下语法?
重复{命令}直到(条件)
Java 中的经典 for 循环不能简单地用高阶函数来建模。
原因是在 Java 程序中,例如 for (int i = 1; i 3; i = i + 1) { System.out.print(i
+ ” ”); }
for 的参数包含变量 i 的声明,该变量在其他参数和主体中可见。
然而,在 Scala 中,有一种类似于 Java 的扩展 for 循环的 for 循环:
for (i -1 直到 3) { System.out.print(i + ” ”) } 这将显示 12。
For 循环的转换与 for 表达式类似,但使用 foreach 组合器而不是 map 和 flatMap。 forea
ch 在具有 T 类型元素的集合上定义如下: def foreach(f: T = Unit): Unit =
将ff”应用于集合的每个元素 示例 (i -1 直到 3; j -”abc”) println(i + ” ” + j)
翻译为:
1 到 3) foreach (i = ”abc” foreach (j = println(i + ” ” + j)
Loops
Pr iples of Reactive Programming
Martin Odersky
Loops
Proposition: Variables are enough to model all imperative programs.
But what about control statements like loops?
We can model them using functions.
Example: Here is a Scala program that uses a while loop:
def power (x: Double, exp: Int): Double
{ var r
1.0
var i exp
while (i 0) { r r * x; 1 }
r
}
In Scala, while is a keyword.
But how could we definewhile using a function (call it WHILE)?
Definition of while
The function WHILE can be defined as follows:
def WHILE(condition : Boolean)(command : Unit): U
您可能关注的文档
- developer岁时知道他将像祖父一样.pdf
- pss旧版f740xv16格式74dipco16 0 d2540dpi2013印刷.pdf
- 第六届团支书联席会复习宝典2014级上学期高数b1老师版.pdf
- s5 4 szefler sj et ann allergy asthma immunol布地吸入混悬液在儿科人群中安全性概况全球经验stanle.pdf
- fuzzy reinforcement learning control compliance tasks of robotic manipulators机器人操纵器顺从任务模糊强化学习控制tzafesta.pdf
- 2012国际网页设计年鉴2 dvd08 products help.pdf
- 电子元件二极管ffa30u60dn特点高电压和可靠速开关低正向应用通用模式电源用于.pdf
- bmw售后puma技术通告目录.pdf
- research report coversheet finm7008 s1 2013说明仔细阅读.pdf
- 便秘病人护理课件.pptx
文档评论(0)