2016-02-11 44 views

回答

6

你举的例子是无效的字符串文字作为\是转义字符,所以我想你连第一个之前想每个值和键之前一个字符数限制。

如果这是你可以做你想做的是这样的情况:

val s = """\key1\value1\key2\value2""" 
s.split('\\').toList.tail.grouped(2).map{case List(a,b) => a -> b}.toMap 

请教关于名单的API文档找到什么操作都在做。

+0

替换当前'和'VAL S = “” s' “\键1 \值1 \键2 \值2 \哎呦” “”',那么你会得到一个异常:'s.split( '\\')。 toList.tail.grouped(2).MAP {情况下列表(A,b)=> A - > b} .toMap scala.MatchError:列表(哎呦)(的类scala.collection.immutable $ $结肠结肠) '。此外,'List#tail'是应该[避免]的部分函数(http://stackoverflow.com/a/23184020/409976)。 –

+0

那么,总有一点你必须针对某个不变量进行编程。如果有人想在这种情况下进行错误处理,可以采用不同的方法来解决这个问题。但对于一个明显的初学者来说,这是一个简单的答案。如果他得到了这个,我们可以谈谈如何在一个全面的功能中把它变成这样。 – dth

相关问题