2017-11-29 12 views

답변

0

물론에 문서를 추가하여 복사본을 만들고 싶어 : (. O (N)를 될 수있는 Seq 구현에 이러한 구현의 일부를 따라주의하시기 바랍니다)

case class YourCaseClass(..., docs: Seq[Document], ...) 

def prependDocument(c: YourCaseClass, doc: Document): YourCaseClass = c.copy(docs = doc +: c.docs) 

def appendDocument(c: YourCaseClass, doc: Document): YourCaseClass = c.copy(docs = c.docs :+ doc) 

+0

사실 내 속성 인 옵션 [서열 [문서]], 어떻게 2 옵션 서열을 CONCAT 수 있을까? – zto

+0

당신이 평소'flatMap' 할 것처럼, 지금 당신의 질문은 매우 불분명합니다. –

+0

내 케이스 클래스 객체에는 문서가 있습니다 : Option [Seq [Document]]. 나는 문서 속성에 문서를 추가하여 객체의 복사본을 만들고 싶습니다. – zto

0

당신은 기존의 문서를 활용할 수 있으며 추가 :

obj.copy(docs = obj.docs.map(_ :+ doc)) // docs is of type Option[Seq[Document]] and newDoc is Document 
+0

내 케이스 클래스 객체는 실제로 문서가 있습니다 : Option [Seq [Document]]. document 속성에 문서를 추가하여 객체의 사본을 만들고 싶습니다. – zto

+0

업데이트 된 답변보기 – Tanjin

+1

@zto 질문에서 물어 본 것이 아닙니다. –