Mam dwie funkcje.Kompozycie za pomocą skalazy Strzałka?
def process(date: DateTime, invoice: Invoice, user: User, reference: Reference) : (Action, Iterable[Billable])
def applyDiscount(billable: Billable) : Billable
Jak mogę komponować je tak, że mam jedną funkcję (DateTime, faktura, użytkownika, odniesienia) => (Akcja, iterable [rozliczanych])
Oto ubogich mans sposób co chcę
def buildFromInvoice(user: User, order: Invoice, placementDate: DateTime, reference: Reference) = {
val ab = billableBuilder.fromInvoice(user, order, placementDate, reference)
(ab._1, ab._2.map(applyDiscount(_))
}
chcesz funkcję, która wykonuje pierwszy 'process' a następnie' applyDiscount'? –
Tak, dokładnie. Czy te dwie funkcje można łączyć za pomocą strzałki skalarnej, a jeśli tak, to jaka jest składnia? – OleTraveler