scala作为一门dsl语言,可以说隐式转换功劳不少,原本想自己写一个例子的,结果在github(https://gist.github.com/1078092)看到了一个觉得不错,可以分享
package sample
import java.util.{TimerTask, Timer}
/**
* 以下一段java的调用代码
*/
object TimerDemo extends Application {
new Timer().schedule(new TimerTask {
def run() {
println("Hello")
}
}, 100L)
}
//如果在scala里面调用,经过包装后
case class TimerW(timer: Timer) {
def scheduleAfter(delay: Long)(code: => Unit): Unit = timer.schedule(
new TimerTask {
override def run() = code
}, delay)
}
object NuttycombeExample extends Application {
import TimerW._
//调用就简单很多了
(new Timer()).scheduleAfter(100L) {
println("Hello")
}
}
object TimerW {
implicit def t2tw(timer: Timer): TimerW = TimerW(timer)
}
分享到:
相关推荐
数据类型的隐式转换 数据类型的隐式转换是计算机编程中一个重要的概念,它指的是在编程语言中,编译器或解释器自动将一种数据类型转换为另一种数据类型的过程。这种转换可以是隐式的,也可以是显式的。数据类型的...
### C#中的显式类型与隐式转换 在C#编程语言中,类型转换是非常重要的一个概念,它涉及数据类型的转换以及如何确保程序能够正确处理不同类型的数据。本文将基于提供的内容,详细介绍C#中几种常见的类型转换方法及其...
Oracle 数据隐式转换规则 Oracle 数据隐式转换规则是指在 Oracle 数据库中,当不同的数据类型之间关联时,如果不显式转换数据,则 Oracle 会根据以下规则对数据进行隐式转换。 规则 1: 在 INSERT 和 UPDATE 操作中...
在JavaScript(JS)中,数据类型的隐式转换是一种常见的特性,它发生在不同数据类型之间进行操作或比较时。这种转换通常是由编译器或解释器自动执行的,开发者可能不会直接察觉。以下是对JS中隐式转换规则的详细阐述...
类型转换之隐式转换习题及参考答案,建议配合文章食用。
C++隐式转换问题分析及解决办法 C++隐式转换问题是编程中常见的问题之一,了解隐式转换的原理和规则对于编写高效、安全的代码至关重要。本文将对C++隐式转换问题进行分析,并提供解决办法。 隐式转换的定义 ------...
Scala隐式转换和隐式参数.md
在SQL Server中,数据类型隐式转换是一种自动将一种数据类型转换为另一种数据类型的过程,通常发生在不同数据类型的值进行操作或比较时。虽然这种转换能够简化编程,但如果不了解其工作原理,可能会引发意料之外的...
Scala 隐式转换与隐式参数的使用方法 Scala 中的隐式转换与隐式参数是两个非常重要的概念,它们可以帮助开发者编写更加简洁、灵活和可维护的代码。本文将详细介绍 Scala 中隐式转换与隐式参数的使用方法,并通过...
MySQL隐式转换问题是指在使用MySQL数据库进行数据查询时,由于数据类型不匹配或数据类型不明确等原因,数据库自动将某些值从一种数据类型转换为另一种数据类型,这个过程称为隐式转换。隐式转换可能会导致查询结果不...
在C语言程序设计中,系统隐式转换是一个重要的概念,特别是在处理不同类型的数据混合运算时。隐式转换是指在编程过程中,编译器自动将一种数据类型转换为另一种数据类型的动作,而无需程序员显式地使用类型转换函数...
隐式转换小小例 赚积分用 double b = 6.7; int x = 5; double a = b + x; Console.WriteLine(a); Console.ReadLine();
在JavaScript中,数组`[]`和对象`{}`在特定情境下会发生隐式转换,这主要是因为JavaScript在处理条件语句、逻辑运算等场景时,会自动将非布尔值转换为布尔值。这个过程通常涉及`Boolean()`函数的转换规则。下面我们...
sql server 类型转换表,类型隐式转换和显示转换。
JavaScript中的隐式转换是编程时需要注意的重要概念,它涉及到不同数据类型之间的比较和运算。在JavaScript中,数据类型主要包括Number、Boolean、String、Undefined、Null、Symbol(ES6新增)以及Object(其中Array...
【课程大纲】第1讲-Spark的前世今生 共12页第2讲-课程介绍、特色与价值 共13页第3讲-Scala编程详解:基础语法 共8页第4...共13页第20讲-Scala编程详解:隐式转换与隐式参数 共9页第21讲-Scala编程详解:Actor入门 共8页
c++,隐式转换及explicit简单介绍,个人(新人)分享,有误请勿喷。
编译器经常会背着我们做一些我们不希望发生的事情,典型的是隐式转换。不过庆幸的是,编译器只会帮助我们进行一次转换,而不会无休止的隐式转换,直至满足条件为止。例如,下面先定义一个Array模板类: template...
一、从 数字类型 转换成 字符串类型A、 显式转换console.log(typeof numberA) // numberB、 隐式转换console.log
读书笔记:基本的scala编程其中包含隐式转换和Actor编程