假设我将银行账户信息存储在一个不可变的Map:
val m = Map("Mark" -> 100, "Jonathan" -> 350, "Bob" -> 65)
Run Code Online (Sandbox Code Playgroud)
我想从马克的帐户中提取50美元.我可以这样做:
val m2 = m + ("Mark" -> (m("Mark") - 50))
Run Code Online (Sandbox Code Playgroud)
但这段代码对我来说似乎很难看.有没有更好的方法来写这个?
有没有更好的方法来编写下面的代码?
val t = map.get('type).getOrElse("");
if (t != "") "prefix" + t;
Run Code Online (Sandbox Code Playgroud)
对内联代码感兴趣
val t = map.get('type).getOrElse("").????
Run Code Online (Sandbox Code Playgroud) 是否有一种优雅的方式来更新Map中已存在的值?
这看起来太吓人了:
val a = map.get ( something )
if ( a != null ) // case .. excuse my old language
a.apply( updateFunction )
else
map.put ( something, default )
Run Code Online (Sandbox Code Playgroud)