Scala中for表达式的深入解析与集合特性
1. for表达式用于查询
for表达式本质上等同于数据库查询语言的常见操作。以下通过一个示例数据库来展示其在查询中的应用。
首先定义 Book
类和示例数据库:
case class Book(title: String, authors: String*)
val books: List[Book] =
List(
Book(
"Structure and Interpretation of Computer Programs",
"Abelson, Harold", "Sussman, Gerald J."
),
Book(
"Principles of Compiler Design",
"Aho, Alfred", "Ullman, Jeffrey"
),
Book(
"Programming in Modula-2",
"Wirth, Niklaus"
),
Book(
"Elements of ML Programming",
"Ullman, Jeffrey"
),
Book(
"The Java Language Specification", "Gosling, James",
"Joy, Bill", "Steele, Guy", "Bracha, Gilad"
)
)
以下是不同查询需求及对