loops 8响应式编程循环原理martinodersky命题变量足以对所.pdfVIP

loops 8响应式编程循环原理martinodersky命题变量足以对所.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

wccebooks + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档