2017-11-29 12 views

答えて

0

確かにドキュメントを追加することにより、コピーを作りたい:

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) 

を(Seq実装に応じて、これらの実装のいくつかはO(n)とすることができますのでご注意ください。)

+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]]。ドキュメント属性にドキュメントを追加してオブジェクトのコピーを作成したい – zto

+0

更新された回答を参照 – Tanjin

+1

@ztoこれはあなたが質問で尋ねたものではありません。 –

関連する問題