中文代码示例之Programming in Scala笔记第七八章

简介: 对Programming in Scala书本中的七八章示例代码进行命名中文化. Translate identifiers in sample programs to Chinese.

2018_11_27_scala_

续前文:

同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_in_Scala_study_notes_zh

第七章 内置控制结构

7.8中改为函数式风格的乘法表:

def 创建行序列(行: Int) =
  for (列 <- 1 to 10) yield {
    val 乘积 = (行 * 列).toString
    val 缩进 = " " * (4 - 乘积.length)
    缩进 + 乘积
  }

def 创建行(行: Int) = 创建行序列(行).mkString

def 乘法表() = {
  val 表序列 =
    for (行 <- 1 to 10)
    yield 创建行(行)

  表序列.mkString("\n")
}

第八章 函数和闭包

8.7 闭包

在运行时, 闭包牵涉的变量值可能改变, 关键在于该闭包创建的时刻变量值如何:

scala> def 创建累加器(增量: Int) = (数: Int) => 数 + 增量
创建累加器: (增量: Int)Int => Int

scala> val 累加器1 = 创建累加器(1)
累加器1: Int => Int = 
$$
Lambda$1168/1847678962@36f59005

scala> val 累加器9999 = 创建累加器(9999)
累加器9999: Int => Int = 
$$
Lambda$1168/1847678962@4a83d668

scala> 累加器1(10)
res25: Int = 11

scala> 累加器9999(10)
res26: Int = 10009

感觉书中例程还是偏IT, 本可以更接近日常, 比如这个:

val 首参数 = if (参数.length > 0) 参数[0] else ""

val 伙伴 =
  首参数 match {
    case "甜酱" => println("辣酱")
    case "羊肉" => println("泡馍")
    case "皮蛋" => println("豆腐")
    case _ => println("啥?")
  }
println(伙伴)

2018-11-27

相关文章
|
5月前
|
监控 Scala 数据安全/隐私保护
Scala代码实践:软件开发中的如何避免员工接私单的防范
在 Scala 软件开发中防止员工接私单,可以通过实施权限控制和审计日志来限制敏感数据访问,并监测员工行为。使用监控系统检测异常活动,一旦发现可疑行为,自动发送警告和生成报告,以便及时干预。这些措施有助于保护项目进度和质量,提高团队效率。
176 1
|
3月前
|
SQL Java 数据处理
实时计算 Flink版产品使用问题之使用MavenShadePlugin进行relocation并遇到只包含了Java代码而未包含Scala代码,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
存储 监控 分布式数据库
Scala代码在局域网监控软件中的分布式处理
该文介绍了如何使用Scala进行局域网监控数据的分布式处理。通过示例展示了利用Scala的并发能力进行数据收集,使用集合操作进行数据处理与分析,以及如何将处理结果存储到分布式数据库(如Cassandra)和自动提交到网站。Scala的并发处理能力和丰富库支持使其在分布式处理中表现出色。
121 3
|
4月前
|
Scala
【收藏】Scala常用方法(笔记)
【收藏】Scala常用方法(笔记)
25 0
|
分布式计算 Java API
IDEA实现Java与Scala代码混合开发
IDEA实现Java与Scala代码混合开发
777 0
IDEA实现Java与Scala代码混合开发
|
消息中间件 运维 数据可视化
【Kafka】基于Windows环境的Kafka有关环境(scala+zookeeper+kafka+可视化工具)搭建、以及使用.NET环境开发的案例代码与演示
基于Windows系统下的Kafka环境搭建;以及使用.NET 6环境进行开发简单的生产者与消费者的演示。
516 0
【Kafka】基于Windows环境的Kafka有关环境(scala+zookeeper+kafka+可视化工具)搭建、以及使用.NET环境开发的案例代码与演示
Scala 运行代码报错: error: object redisson is not a member of package org
Scala 运行代码报错: error: object redisson is not a member of package org
Scala 运行代码报错: error: object redisson is not a member of package org
|
分布式计算 Scala Spark
Scala写Spark笔记
Scala写Spark笔记
79 0
|
Java Scala
Java运行Scala代码
Java运行Scala代码
165 0
|
分布式计算 Scala 开发工具
IntelliJ IDEA编写Scala代码(安装Scala插件)
IntelliJ IDEA编写Scala代码(安装Scala插件)
701 0
IntelliJ IDEA编写Scala代码(安装Scala插件)