scalac 学习

val logEnable = false
def log(msg: => String) =
    if (logEnable) println(msg)
val MSG = "programing is running"
log(MSG + 1 / 0)
class Stu(private val name:String,private var age:Int)
{
	def Name = name;
	def Age = age;
	def Age_=(age: Int) = this.age = age;
}
val s = new Stu("wengmj",36);
s.Age=37
println(s.Age);

 

def withClose(closeAble: { def close(): Unit })(op: { def close(): Unit } => Unit) {
    try {
        op(closeAble)
    } finally {
        closeAble.close()
    }
}

class Connection {
    def close() = println("close Connection")
}

val conn: Connection = new Connection()
withClose(conn)
{
	conn =>println("do something with Connection");
}

  

def withClose[A <: { def close(): Unit }, B](closeAble: A)
  (f: A => B): B =
  try {
    f(closeAble)
  } finally {
    closeAble.close()
  }
class Connection {
  def close() = println("close Connection")
}
val conn: Connection = new Connection()
val msg = withClose(conn) { conn =>
  {
    println("do something with Connection")
    "123456"
  }
}

println(msg)

  

 

时间: 2024-12-14 06:27:54

scalac 学习的相关文章

Scala 学习

1,Scala学习 官方网网站: http://www.scala-lang.org/ http://www.scala-lang.org/download/ 可伸缩的语言是一种多范式的编程语言,一种类似java的编程,设计初衷是要集成面向对象编程和函数式编程的各种特性. Scala是在JVM上运行. Scala有几项关键特性表明了它的面向对象的本质.例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值.数字等)在内,连函数也是对象.另外,类可以被子类化,而且Scala还提供了基于

scala学习

学习资料一,做的比较炫酷的文档,看着很舒服 http://zh.scala-tour.com/#/funtional-contents 下面是一个为java程序员编写的scala入门教程,内容不多但是可以用来快速了解scala吧 原帖地址:http://dataunion.org/14967.html,这篇文章是英文原稿的翻译,google上还有中英文对照稿,有兴趣的也可以看下: 本文是<A Scala Tutorial for Java programmers>英文的翻译,英文版地址A Sc

Scala2.11.7学习笔记(四)

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. 简单的类定义 class CheckSumAccumulator {     private var sum = 0;     def add (b : Byte) : Unit = sum += b;     def checksum () : Int = ~ (sum & 0xFF) + 1; } Scala中class的缺省修饰符为public(public,protected,private),类的方法以def定义开始,

大三学习规划路线图

路线图介绍: 本课程对大数据生态系统进行全方位讲解,有hadoop实操与底层原理应用,DFS与MapRedcue的全新解读,内含有全网独家发布的YARN调度框架的底层事件二次分发机制和Google源码级IPC和RPC的通信技术原理与报文字节码级别的协议分析,Scala语言的编程技巧与java语言的互操作性,Spark中数据处理如何弹性化.如何调优以及对Scala编程语言的典型应用.ZooKeeper作为分布式系统协同服务的原理实现与实战应用,zkCli下同zk的交互模式以及素有瑞士***之称的N

Scala学习(五)---Scala中的类

Scala中的类 摘要: 在本篇中,你将会学习如何用Scala实现类.如果你了解Java或C++中的类,你不会觉得这有多难,并且你会很享受Scala更加精简的表示法带来的便利.本篇的要点包括: 1. 类中的字段自动带有getter方法和setter方法 2. 你可以用定制的getter/setter方法替换掉字段的定义,而不必修改使用类的客户端,这就是所谓的"统一访问原则" 3. 用@BeanProperty注解来生成JavaBeans的getXxx/setXxx()方法 4. 每个类

学习scala: Hello World

最近在学习scala编程语言,看了几章确实很好用,尤其是函数式编程,之前曾了解过haskell函数式编程语言,就深深地喜欢上了,不过在实际应用中,确实很少.scala不一样,兼容java字节码,可以理解为Java的一种语法糖,Java的类库可以无缝使用,工作中更多的用的时Java,这样学习了scala,就可以在工作中大显身手. 先来一段hello world程序 object HelloWorld{ def main(args : Array[String]){ println("HelloWo

Scala系统学习(三):Scala基础语法

如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个

Scala系统学习(四):Scala变量

变量是保存存储值的内存位置的名称.这意味着当创建变量时,可以在内存中保留一些空间. 根据变量的数据类型,编译器分配内存并决定可以存储在预留内存中的内容.因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符. 变量声明 Scala具有用于声明变量的不同语法.它们可以被定义为值,即常数或变量. 这里,myVar使用关键字var声明. 它是一个可以改变值的变量,这称为可变变量. 以下是使用var关键字定义变量的语法 - 语法 var myVar : String = "Foo&qu

Vue.js学习笔记:属性绑定 v-bind

v-bind  主要用于属性绑定,Vue官方提供了一个简写方式 :bind,例如: <!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩写 --> <a :href="url"></a> 绑定HTML Class 一.对象语法: 我们可以给v-bind:class 一个对象,以动态地切换class.注意:v-bind:class指令可以与普通的class特