From 6b8bffdd410c7e75cd0dcfc610ae5e32214f4b8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Sat, 8 Apr 2023 19:22:50 +0200 Subject: [PATCH] Method for checking bank account existence in the list of them. --- src/bank-account.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/bank-account.scm b/src/bank-account.scm index c5e8b39..7c2be1f 100644 --- a/src/bank-account.scm +++ b/src/bank-account.scm @@ -44,6 +44,8 @@ bank-transaction-type bank-transaction-account bank-transaction-bank + + bank-accounts-member? ) (import scheme @@ -85,4 +87,15 @@ (bank-transaction-message tr) (bank-transaction-type tr)))) + ;; Returns true if given acc/bc is in the list of accounts + (define (bank-accounts-member? bas acc bc) + (let loop ((bas bas)) + (if (null? bas) + #f + (let ((ba (car bas))) + (if (and (equal? acc (bank-account-number ba)) + (equal? bc (bank-account-bank ba))) + #t + (loop (cdr bas))))))) + )