Duck util-format.

This commit is contained in:
Dominik Pantůček 2023-07-06 18:36:05 +02:00
parent ea6aaceff5
commit d4657ad3b6
5 changed files with 33 additions and 21 deletions

View file

@ -122,7 +122,7 @@ Returns a dictionary with the following keys:
* ```fname``` - file name (path) relative to the git repository * ```fname``` - file name (path) relative to the git repository
Returns annotated source with information about originating commits Returns annotated source with information about originating commits
for each line. for each line represented by dictionary with keys from git output.
## util-io [module] ## util-io [module]
@ -340,3 +340,19 @@ Returns the (possibly improper) list of arguments the procedure
```proc``` accepts. If it accepts arbitrary number of arguments, it is ```proc``` accepts. If it accepts arbitrary number of arguments, it is
signalled by simple symbol instead of pair at the last position. If it signalled by simple symbol instead of pair at the last position. If it
accepts an exact number of arguments, it returns a proper list. accepts an exact number of arguments, it returns a proper list.
## util-format [module]
(import util-format)
A simple module with less-common formatting functions.
### format-amount [procedure]
(format-amount amt)
* ```amt``` - a number
Converts given number to a string with two-digit fractional
part. Should the fractional part be 0, it is replaced with the string
"--".

View file

@ -125,20 +125,6 @@ Returns ```#t``` if both dictionaries contain the same keys and their
values are equal according to the provided ```equality?``` predicate values are equal according to the provided ```equality?``` predicate
which defaults to ```equal?```. which defaults to ```equal?```.
### Format
(import util-format)
A simple module with less-common formatting functions.
(format-amount amt)
* ```amt``` - a number
Converts given number to a string with two-digit fractional
part. Should the fractional part be 0, it is replaced with the string
"--".
### Mail ### Mail
(import util-mail) (import util-mail)

View file

@ -61,11 +61,12 @@ GENDOC-SOURCES=gendoc.scm duck-extract.import.scm \
util-time.import.scm util-csv.import.scm util-git.import.scm \ util-time.import.scm util-csv.import.scm util-git.import.scm \
util-io.import.scm util-stdout.import.scm \ util-io.import.scm util-stdout.import.scm \
util-parser.import.scm util-list.import.scm \ util-parser.import.scm util-list.import.scm \
util-proc.import.scm util-proc.import.scm util-format.import.scm
GENDOC-OBJS=gendoc.o duck-extract.o util-time.o util-csv.o util-io.o \ GENDOC-OBJS=gendoc.o duck-extract.o util-time.o util-csv.o util-io.o \
progress.o testing.o util-proc.o util-git.o util-io.o \ progress.o testing.o util-proc.o util-git.o util-io.o \
util-stdout.o util-parser.o util-list.o util-proc.o util-stdout.o util-parser.o util-list.o util-proc.o \
util-format.o
.PHONY: imports .PHONY: imports
imports: $(HACKERBASE-DEPS) imports: $(HACKERBASE-DEPS)
@ -343,7 +344,7 @@ NOTIFICATIONS-SOURCES=notifications.scm brmember.import.scm \
notifications.o: notifications.import.scm notifications.o: notifications.import.scm
notifications.import.scm: $(NOTIFICATIONS-SOURCES) notifications.import.scm: $(NOTIFICATIONS-SOURCES)
UTIL-FORMAT-SOURCES=util-format.scm UTIL-FORMAT-SOURCES=util-format.scm duck.import.scm
util-format.o: util-format.import.scm util-format.o: util-format.import.scm
util-format.import.scm: $(UTIL-FORMAT-SOURCES) util-format.import.scm: $(UTIL-FORMAT-SOURCES)

View file

@ -27,4 +27,5 @@
util-stdout util-stdout
util-parser util-parser
util-list util-list
util-proc) util-proc
util-format)

View file

@ -25,8 +25,11 @@
(declare (unit util-format)) (declare (unit util-format))
(module (import duck)
(module*
util-format util-format
#:doc ("A simple module with less-common formatting functions.")
( (
format-amount format-amount
) )
@ -36,7 +39,12 @@
(chicken format)) (chicken format))
;; Formats amount in currency ;; Formats amount in currency
(define (format-amount amt) (define/doc (format-amount amt)
("* ```amt``` - a number
Converts given number to a string with two-digit fractional
part. Should the fractional part be 0, it is replaced with the string
\"--\".")
(if amt (if amt
(let* ((str (number->string amt)) (let* ((str (number->string amt))
(flds (string-split str ".")) (flds (string-split str "."))