2016-10-23 1 views
0

Я ищу append val adminEmailSeq = Seq.empty[String] из атрибута List of object.Scala append Seq in со строкой в ​​карте списка или переднем плане

Мои List[User] называемые «админы», и я пытаюсь сделать это, но он не работает:

admins.foreach(
    admin => { 
     adminEmailSeq :+ admin.email 
    } 
) 

Хотя admin.email содержит правильную информацию, adminEmailSeq.isEmpty всегда верно.

ответ

4

Из описания я полагаю, что вам нужно Emails от Admins

val adminEmailSeq = admins.map(_.email) 
+0

Да, спасибо! – Akram

2

Дописывать «+» на самом деле не добавляет его к ведущему послед. Он делает копию. Что касается вашего решения, вам нужно будет это сделать.

admins.foreach(
    admin => { 
     adminEmailSeq = adminEmailSeq :+ admin.email 
    } 
) 

Но я думаю, что правильное решение будет использовать карту.

Просто забыл: я являюсь поклонником неизменяемости и значений вместо переменных. Это может помочь понять код намного проще. Поэтому я не использовал бы эту переменную, переопределяющую (поэтому я предложил карту, поскольку некоторые решения здесь могут показать вам).