for使用
常用
val filesHere = (new java.io.File(/".")).listFiles
for(file <- filesHere)
println(file)
过滤
val filesHere = (new java.io.File(/".")).listFiles
for(file <- filesHere
if file.getNmae.endWith(".scala") ) //有2个if的话 要用;分割
println(file)
嵌套枚举
def fileLInes(file:java.io.File) = scala.io.Source.fromFile(file).getLines.toList
def grep(pattern:String) =
for(
file <- fileHeres
if file.getNmae.endWith(".scala")
line <-fileLines(file)
if line.trim.matches(pattern
)println(file + ": " + line.trim)
grep(.*gcd.*)
制造新集合
def scalaFiles =
for{
file <- fileHeres
if file.getNmae.endWith(".scala")
}yield file
异常处理
try{
val f = new FileReader("input.txt")
//使用并关闭文件
}catch{
case ex:FileNotFoundException => //处理丢失的文件
case ex:IOException=> //处理其他的I/O错误
}finally{
f.close() //确保关闭文件
}
scala与java的区别是不需要捕获检查异常
}
匹配表达式
scala 的match类似java的switch
val firstArg = if (args.length>0) args(0) else ""
firstArg match{
case "salt" => println("pepper")
case "chips"=> println("salsa")
case _ println("huh?")
}
_表示默认情况下
scala不在使用break和continue
分享到:
相关推荐
7. 内建控制结构:Scala提供内建的控制结构,比如循环(while)、条件判断(if)、枚举等,使得控制流的编写更为直观。 8. 函数和闭包:函数是Scala语言的核心概念之一,Scala支持高阶函数、函数字面量、闭包等特性...
本书还介绍了Scala的控制结构,包括内建的控制结构以及如何实现函数和闭包。控制结构如if、while和for表达式允许编写条件和迭代逻辑。闭包是一个函数,它可以引用定义它的作用域中的变量。 书中还涉及了Scala的包和...
在这一部分,初学者将学习到Scala的基本概念,如变量声明、控制结构、函数定义、集合操作等。 第二部分:使用Scala进行开发。这部分的内容涉及Scala在实际开发中的应用,可能包括了函数式数据结构的使用、函数式...
11. **XML支持**:Scala直接内建了对XML的支持,可以方便地解析、生成和操作XML文档。 12. **反射**:Scala提供了反射API,允许程序在运行时检查和修改自身的结构和行为。 通过阅读Scala 2.7.6的API文档,开发者...
7. 内建的控制结构,例如循环和条件语句。 8. 函数和闭包的高级特性。 9. 控制抽象,涉及如何实现自定义控制结构。 10. 组合和继承,讲述如何使用它们来构建复杂的类层次结构。 11. Scala的类层次结构和类型系统。 ...
5. **训练循环(Training Loop)**:库内建了训练循环,可以自动处理智能体与环境的交互、学习更新和性能评估等步骤,大大简化了强化学习实验的流程。 **三、使用案例** 使用srl库进行强化学习实验通常包括以下...
在Scala中,单例模式被内建在语言中,我们可以通过定义一个伴生对象来实现。这种模式确保一个类只有一个实例,并提供全局访问点,有助于管理和控制共享资源。 3. **建造者模式**: 建造者模式用于创建复杂对象,...
2. **类型感知**:内建类型检查,提供代码补全和错误提示。 3. **科学计算支持**:通过 Breeze 库,Almond 支持数值计算和科学计算。 4. **Spark 集成**:可以直接在 Notebook 中操作 Spark 数据集,方便大数据处理...
- **测试集成**:SBT内建对JUnit、ScalaTest等测试框架的支持,方便进行单元测试和集成测试。 - **源码管理和版本控制**:SBT可以与Git、SVN等版本控制系统集成,便于版本管理和协同开发。 3. **SBT的命令行界面*...
Play框架的核心特点包括对RESTful架构的内建支持、WebSockets的天然集成、以及通过Akka和Scala实现的异步非阻塞IO特性。 文档提及Playframework版本为1.2.3,该版本使用Maven作为构建工具,允许开发者使用Maven插件...
5. **测试支持**:Play Framework内建了测试工具,支持单元测试、集成测试和端到端测试,方便开发者进行全方位的质量保证。 6. **模块化结构**:通过使用插件系统,Play可以轻松扩展其功能,如缓存、安全、邮件服务...
6. ** Actors模型**:Scala内建了对Akka框架的支持,Akka使用Actors模型实现并发和分布式计算,简化了多线程编程的复杂性。 7. **Scala与Java互操作**:由于Scala运行在JVM上,它可以无缝地与Java代码交互,使得已...
4. **测试支持**:Play 1.2提供了内建的测试框架,可以方便地进行单元测试和集成测试。例如,你可以用以下方式编写一个简单的测试: ```java @Test public void testHelloAction() { running(fakeApplication(),...
### 大数据开发面试学习指南 #### Java Java 是一种广泛使用的编程语言,在大数据领域尤其重要。面试者需要掌握 Java 的基础知识,包括但不限于类与对象的概念、继承与多态、异常处理、集合框架等。 - **面向对象...
4. **丰富的库资源**:内置了大量的预建模型库,覆盖了生态学、社会学、经济学等多个领域,为用户提供了学习和借鉴的基础。 5. **教育应用**:NetLogo设计友好,适合初学者和教育环境,能够帮助学生和教师理解复杂...
1. 代码重构:提供多种内建重构工具,如提取方法、重命名、移动等,帮助提升代码质量。 2. 代码分析:通过"Code" > "Inspect Code"可以检查代码潜在的问题,并提供改进建议。 九、运行与部署 1. 运行配置:用户...
非DI模式通常意味着对象创建和管理是内建在类中的,而不是通过一个外部容器来处理。在"play-simple"的这个例子中,可能是通过构造函数或者静态工厂方法来实例化和注入所需的依赖。 另一方面,HTTP基本身份验证是一...
Play Framework是一款基于Java和Scala的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,旨在提供高效、简洁且可测试的开发环境。标题中的"v2.7.9"指的是该框架的特定版本,通常每个新版本会包含性能优化...
6. **依赖注入**:Play框架内建了Guice作为默认的依赖注入容器,支持组件化开发,提高代码复用性和可维护性。 7. **模块化**:丰富的社区模块,如JWT身份验证、RESTful API支持等,可以快速扩展功能。 8. **跨平台...
9. **Web 模板引擎**:Play 框架内建了模板引擎,如 Twirl,用于生成 HTML 输出,提供了一种简洁的方式来构建动态网页。 10. **版本控制**:考虑到是代码仓库的压缩包,可能项目使用了 Git 进行版本控制,便于团队...