0
我有一段代碼,我在裏面使用了模式匹配,我在所有情況下都使用過map,我想要得到map給變量的輸出。下面是我的代碼:如何將匹配語句的輸出保存到變量中?
override def run():List[Option[Student]] =
StudentDataCache.get(surname) match {
case Some(i) => i.otherSiblings.map(siblings =>
StudentDataCache.get(siblings) match {
case Some(i) => Some(i)
case None=> getStudentFromDatabase(siblings)
}
)
case None =>
getStudentFromDatabase(surname).get.otherSiblings.map(siblings => StudentDataCache.get(siblings) match {
case Some(i) => Some(i)
case None=> getStudentFromDatabase(siblings)
}
)
}
內外情況下,地圖語句的輸出列表[選項[學生]:],是有辦法進入變量,是因爲我想這個列表轉換成一個單一的對象,因爲HystrixCommand執行輸出不支持List作爲輸出。我想將其轉換爲StudentListing(VAL上市:列表[選項[學生])
我得到這個錯誤: 錯誤:(44 3)的簡單表達 VAL結果非法啓動= StudentDataCache.get(姓)匹配{ ^ – user1079341
你加了''{在年底上一行,爲了使它成爲'run'的多行實現而不是單行?另見這裏:http://stackoverflow.com/questions/15962563/illegal-start-of-simple-expression-in-scala –
得到它..現在工作:) 謝謝 – user1079341