`
csc365kl
  • 浏览: 56473 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

scala学习(二) 内建控制结构

 
阅读更多

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

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    scala编程电子书

    7. 内建控制结构:Scala提供内建的控制结构,比如循环(while)、条件判断(if)、枚举等,使得控制流的编写更为直观。 8. 函数和闭包:函数是Scala语言的核心概念之一,Scala支持高阶函数、函数字面量、闭包等特性...

    scala中文版

    本书还介绍了Scala的控制结构,包括内建的控制结构以及如何实现函数和闭包。控制结构如if、while和for表达式允许编写条件和迭代逻辑。闭包是一个函数,它可以引用定义它的作用域中的变量。 书中还涉及了Scala的包和...

    Scala in Action pdf

    在这一部分,初学者将学习到Scala的基本概念,如变量声明、控制结构、函数定义、集合操作等。 第二部分:使用Scala进行开发。这部分的内容涉及Scala在实际开发中的应用,可能包括了函数式数据结构的使用、函数式...

    Scala_2.7.6_API.chm.7z

    11. **XML支持**:Scala直接内建了对XML的支持,可以方便地解析、生成和操作XML文档。 12. **反射**:Scala提供了反射API,允许程序在运行时检查和修改自身的结构和行为。 通过阅读Scala 2.7.6的API文档,开发者...

    Programming in Scala

    7. 内建的控制结构,例如循环和条件语句。 8. 函数和闭包的高级特性。 9. 控制抽象,涉及如何实现自定义控制结构。 10. 组合和继承,讲述如何使用它们来构建复杂的类层次结构。 11. Scala的类层次结构和类型系统。 ...

    srl:Scala强化学习库

    5. **训练循环(Training Loop)**:库内建了训练循环,可以自动处理智能体与环境的交互、学习更新和性能评估等步骤,大大简化了强化学习实验的流程。 **三、使用案例** 使用srl库进行强化学习实验通常包括以下...

    scala-design-patterns:在Scala中实现的设计模式

    在Scala中,单例模式被内建在语言中,我们可以通过定义一个伴生对象来实现。这种模式确保一个类只有一个实例,并提供全局访问点,有助于管理和控制共享资源。 3. **建造者模式**: 建造者模式用于创建复杂对象,...

    示例:Jupyter笔记本系列,展示了您可以使用杏仁Scala内核做什么

    2. **类型感知**:内建类型检查,提供代码补全和错误提示。 3. **科学计算支持**:通过 Breeze 库,Almond 支持数值计算和科学计算。 4. **Spark 集成**:可以直接在 Notebook 中操作 Spark 数据集,方便大数据处理...

    sbt-1.3.1压缩包

    - **测试集成**:SBT内建对JUnit、ScalaTest等测试框架的支持,方便进行单元测试和集成测试。 - **源码管理和版本控制**:SBT可以与Git、SVN等版本控制系统集成,便于版本管理和协同开发。 3. **SBT的命令行界面*...

    playwebframework框架学习文档整理.pdf

    Play框架的核心特点包括对RESTful架构的内建支持、WebSockets的天然集成、以及通过Akka和Scala实现的异步非阻塞IO特性。 文档提及Playframework版本为1.2.3,该版本使用Maven作为构建工具,允许开发者使用Maven插件...

    Play Framework应用程序框架 v3.0.1.zip

    5. **测试支持**:Play Framework内建了测试工具,支持单元测试、集成测试和端到端测试,方便开发者进行全方位的质量保证。 6. **模块化结构**:通过使用插件系统,Play可以轻松扩展其功能,如缓存、安全、邮件服务...

    Lecture-Examples:讲座代码将在此处上传和共享

    6. ** Actors模型**:Scala内建了对Akka框架的支持,Akka使用Actors模型实现并发和分布式计算,简化了多线程编程的复杂性。 7. **Scala与Java互操作**:由于Scala运行在JVM上,它可以无缝地与Java代码交互,使得已...

    play框架应用实例

    4. **测试支持**:Play 1.2提供了内建的测试框架,可以方便地进行单元测试和集成测试。例如,你可以用以下方式编写一个简单的测试: ```java @Test public void testHelloAction() { running(fakeApplication(),...

    大数据开发面试学习指南

    ### 大数据开发面试学习指南 #### Java Java 是一种广泛使用的编程语言,在大数据领域尤其重要。面试者需要掌握 Java 的基础知识,包括但不限于类与对象的概念、继承与多态、异常处理、集合框架等。 - **面向对象...

    Netlogo用户手册5.2.0

    4. **丰富的库资源**:内置了大量的预建模型库,覆盖了生态学、社会学、经济学等多个领域,为用户提供了学习和借鉴的基础。 5. **教育应用**:NetLogo设计友好,适合初学者和教育环境,能够帮助学生和教师理解复杂...

    IntelliJ IDEA使用中文帮助文档

    1. 代码重构:提供多种内建重构工具,如提取方法、重命名、移动等,帮助提升代码质量。 2. 代码分析:通过"Code" &gt; "Inspect Code"可以检查代码潜在的问题,并提供改进建议。 九、运行与部署 1. 运行配置:用户...

    play-simple:带有简单di和http基本身份验证的示例播放应用

    非DI模式通常意味着对象创建和管理是内建在类中的,而不是通过一个外部容器来处理。在"play-simple"的这个例子中,可能是通过构造函数或者静态工厂方法来实例化和注入所需的依赖。 另一方面,HTTP基本身份验证是一...

    Play Framework应用程序框架 v2.7.9.zip

    Play Framework是一款基于Java和Scala的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,旨在提供高效、简洁且可测试的开发环境。标题中的"v2.7.9"指的是该框架的特定版本,通常每个新版本会包含性能优化...

    Tutorial-Play

    6. **依赖注入**:Play框架内建了Guice作为默认的依赖注入容器,支持组件化开发,提高代码复用性和可维护性。 7. **模块化**:丰富的社区模块,如JWT身份验证、RESTful API支持等,可以快速扩展功能。 8. **跨平台...

    movierecommendation:Play 框架上的电影推荐代码

    9. **Web 模板引擎**:Play 框架内建了模板引擎,如 Twirl,用于生成 HTML 输出,提供了一种简洁的方式来构建动态网页。 10. **版本控制**:考虑到是代码仓库的压缩包,可能项目使用了 Git 进行版本控制,便于团队...

Global site tag (gtag.js) - Google Analytics