我们在写web应用时,经常会在controller中写如此的代码:
context("aaa")="AAA"
这个aaa就是将传给view层的变量。
能否用一种更简化的写法达到同样的效率?可以利用scala中的符号(Symbol),写成:
'aaa := “AAA"
需要做两件事:
创建一个symbol的wrapper类,将对符号的操作,转换到它身上。
2.在wrapper类中,定义:=方法
代码如下:
implicit def symbolWrapper(s: Symbol) = new SymbolHelper(s)
var map = Map()
class SymbolHelper(s: Symbol) {
def :=(value:String) {
map += (s.name -> value)
}
}
object testSymbol {
def main(args : Array[String]) : Unit = {
'a := "AAA"
'b := "BBB"
println(map)
}
}