有代码求真相: scala> List(("a",1),("b",2)).map(case (x,y) => x + y) <console>:1: error: illegal start of simple expression List(("a",1),("b",2)).map(case (x,y) => x + y) ^ scala> List(("......
解毒: 两个原语reset, shift. 需要编译插件支持. reset 定义continuations边界(干吗的?) shift 之后的代码转换为一个Continuation函数,函数类型根据后续表达式推断 同时将此函数传入shift函数体执行 有代码求真相: $ scala -P:continuations:enable $ scala> import scala.util.continuations._ ......
用代码说话吧: scala> def test(proc:=>Any) = "hello" + proc <console>:1: error: ':' expected but identifier found. def test(proc:=>Any) = "hello" + proc ^ scala> def test(proc :=>Any) = "hello" + proc <console>:1: ......    (2回应)
先看代码 scala> class A{ | private var _name:String = _ | def name_=(name:String) = _name = name | def name = _name | } defined class A scala> new A{ | | } res0: A = $anon$1@14487c8 scala> val a = new A { name = "Hello" } a: A = $anon$1@1e85928 sc......

心中的四大金刚

2011-06-17 16:08:08
-scala/java akka play ... mongodb -ruby/jruby/mirah * rails|sinatra ... mongodb -javascript|coffeescript nodejs express/socketio... mongodb -erlang|elixir mochiweb Frankie ... mongodb
subcut是一个充分利用scala 面向函数式和静态性,主要使用 traits和implicit conversions等特性设计的IoC框架, 源代码(包括注释)才600来行。 使用示例可见其单元测试:https://github.com/dickwall/subcut/tree/master/src/test/scala/org/scala_tools/subcut/inject 为什么说是简版Guice呢: 首先提供类似Guice “......    (2回应)
获取class manifests的两种基本方式: 1 def classOf[T <: Any](implicit m: scala.reflect.Manifest[T]): Class[T] = m.erasure.asInstanceOf[Class[T] 通过implicit m: scala.reflect.Manifest[T]声明一个隐式参数,这样scala编译器能在编译时提供T的类型信息了 2 def classOf[T <: Any : Manifest] : Class[T]......
1 缺乏执行力 2 比较情绪化 3 善变,不够坚持 4 有效思考少了 5 有点懒,没时间锻炼身体 6 心还不够开放
想在scala里优雅的实现类似 1.times(println("s")) //output "s" (1.0).times(println("s")) (1L).times(println("s")) 2.times( (i:Int) => print(i))// 12 的功能, 自然想到使用Implicit Conversions. object P{ implicit def numberW[T <: java.lang.Number](ta......
eclipse color theme 插件用到xulrunner, 而ubuntu默认安装无xulrunner. $ sudo apt-get install xulrunner-1.9.2 还是中意TextMate Twilight
<前页 1 2 3 4 5 ... 7 8 后页>
feed: rss 2.0 输出摘要