Finish member-format for nick and id.
This commit is contained in:
parent
cd6051e376
commit
f7d062f097
2 changed files with 19 additions and 3 deletions
|
@ -37,6 +37,7 @@
|
||||||
member-nick
|
member-nick
|
||||||
member-id
|
member-id
|
||||||
member-existing?
|
member-existing?
|
||||||
|
member-format
|
||||||
member-record-tests!
|
member-record-tests!
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -136,6 +137,23 @@
|
||||||
(and joined
|
(and joined
|
||||||
(month<? joined (*current-month*)))))
|
(month<? joined (*current-month*)))))
|
||||||
|
|
||||||
|
;; Member formatting function for general use.
|
||||||
|
(define (member-format fmt mr)
|
||||||
|
(let loop ((fmtl (string->list fmt))
|
||||||
|
(resl '()))
|
||||||
|
(if (null? fmtl)
|
||||||
|
(string-intersperse (reverse resl) "")
|
||||||
|
(let ((ch (car fmtl)))
|
||||||
|
(if (eq? ch #\~)
|
||||||
|
(loop (cddr fmtl)
|
||||||
|
(cons (case (cadr fmtl)
|
||||||
|
((#\N) (mr-ref mr 'nick))
|
||||||
|
((#\I) (number->string (mr-ref mr 'id)))
|
||||||
|
((#\~) "~"))
|
||||||
|
resl))
|
||||||
|
(loop (cdr fmtl)
|
||||||
|
(cons (make-string 1 (car fmtl)) resl)))))))
|
||||||
|
|
||||||
;; Performs module self-tests.
|
;; Performs module self-tests.
|
||||||
(define (member-record-tests!)
|
(define (member-record-tests!)
|
||||||
(run-tests
|
(run-tests
|
||||||
|
|
|
@ -259,9 +259,7 @@
|
||||||
(car sl))))
|
(car sl))))
|
||||||
(string-intersperse
|
(string-intersperse
|
||||||
(map (lambda (mr)
|
(map (lambda (mr)
|
||||||
(sprintf "~A (~A)"
|
(member-format "~N (~I)" mr))
|
||||||
(member-id mr)
|
|
||||||
(member-nick mr)))
|
|
||||||
mrs))))
|
mrs))))
|
||||||
|
|
||||||
;; Returns dictionary with statistics about the members base.
|
;; Returns dictionary with statistics about the members base.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue