如何在Scala中迭代它时修改列表的每个元素?

时间:2016-09-28 16:58:47

标签: string list scala

我有一个像这样声明的String列表:

var re1_emoticons=""::Nil

然后我用表情符号(字符串)填写。我试图在\\中的每个字符串的开头添加re1_emoticons,修改原始变量。

第一次尝试:

re1_emoticons.foreach(t=>"""\\""" + t)

第二次尝试:

re1_emoticons.foreach(t=>re1_emoticons.indexOf(t)="""\\"""+ t)

第三次尝试:

re1_emoticons.foreach(t=>re1_emoticons.indexOf(t):="""\\"""+ t)    

然而仍然没有找到方法。有没有正确的方法来做到这一点?

2 个答案:

答案 0 :(得分:5)

使用map - 功能。它创建一个新列表,其中包含应用于每个项目的功能。获得新列表后,您可以将其分配给您已有的var

re1_emoticons = re1_emoticons.map(t => """\\""" + t)

答案 1 :(得分:2)

map的问题是它没有返回任何内容。使用foreach代替for-comprehension或使用re1_emoticons = for(emoticon <- re1_emoticons) yield ("""\\""" + emotican) 语法。

for video in JSON["items"] as? NSArray {