疑似bug_中文代码示例之Programming in Scala笔记第九十章

简介: 对Programming in Scala书本中的九十章示例代码进行命名中文化, 发现一个问题. Translate identifiers in sample programs to Chinese, and found an issue.

2018_12_09_scala_

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

源文档库: program-in-chinese/Programming_in_Scala_study_notes_zh

疑似中文命名bug

program-in-chinese/Programming_in_Scala_study_notes_zh. 复现如下. 需要深究:

scala> for ((行1, 行2) <- Array(1,2) zip Array("a", "b"))
     | yield 行1 + 行2
<console>:12: error: not found: value 行1
       for ((行1, 行2) <- Array(1,2) zip Array("a", "b"))
             ^
<console>:12: error: not found: value 行2
       for ((行1, 行2) <- Array(1,2) zip Array("a", "b"))
                 ^
<console>:13: error: not found: value 行1
       yield 行1 + 行2
             ^
<console>:13: error: not found: value 行2
       yield 行1 + 行2
                  ^

scala> for ((l1, l2) <- Array(1,2) zip Array("a", "b"))
     | yield l1 + l2
res1: Array[String] = Array(1a, 2b)

第九章 控制抽象

  def 文件匹配(查询: String, 匹配器: (String, String) => Boolean) =
    for (文件 <- 此处文件; if 匹配器(文件.getName, 查询))
      yield 文件
  
  def 文件名结尾(查询: String) =
    文件匹配(查询, _.endsWith(_))
  
  def 文件名包括(查询: String) =
    文件匹配(查询, _.contains(_))
  
  def 文件名正则匹配(查询: String) =
    文件匹配(查询, _.matches(_))

第十章 组合和继承

import 元素类.元素

object 螺旋 {
  val 空格 = 元素(" ")
  val 角 = 元素("+")

  def 螺旋(边数: Int, 方向: Int): 元素类 = {
    if (边数 == 1)
      元素("+")
    else {
      val 旋 = 螺旋(边数 - 1, (方向 + 3) % 4)
      def 竖条 = 元素('|', 1, 旋.高度)
      def 横条 = 元素('-', 旋.宽度, 1)
      if (方向 == 0)
        (角 在旁 横条) 在上 (旋 在旁 空格)
      else if (方向 == 1)
        (旋 在上 空格) 在旁 (角 在上 竖条)
      else if (方向 == 2)
        (空格 在旁 旋) 在上 (横条 在旁 角)
      else
        (竖条 在上 角) 在旁 (空格 在上 旋)
    }
  }

  def main(参数: Array[String]) = {
    val 边数 = 参数(0).toInt
    println(螺旋(边数, 0))
  }
}

运行效果:

$ scala 螺旋 17
+----------------
|                
| +------------+ 
| |            | 
| | +--------+ | 
| | |        | | 
| | | +----+ | | 
| | | |    | | | 
| | | | ++ | | | 
| | | |  | | | | 
| | | +--+ | | | 
| | |      | | | 
| | +------+ | | 
| |          | | 
| +----------+ | 
|              | 
+--------------+ 

敬请期待后续!

2018-12-09

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