私には2つの機能があります。
def process(date: DateTime, invoice: Invoice, user: User, reference: Reference) : (Action, Iterable[Billable])
def applyDiscount(billable: Billable) : Billable
(DateTime, Invoice, User, Reference) => (Action, Iterable[Billable]) の単一の機能を持つようにこれらを構成するにはどうすればよいですか
これが私が望む貧乏人の方法です
def buildFromInvoice(user: User, order: Invoice, placementDate: DateTime, reference: Reference) = {
val ab = billableBuilder.fromInvoice(user, order, placementDate, reference)
(ab._1, ab._2.map(applyDiscount(_))
}