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
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]
@ -340,3 +340,19 @@ Returns the (possibly improper) list of arguments the procedure
```proc``` accepts. If it accepts arbitrary number of arguments, it is
signalled by simple symbol instead of pair at the last position. If it
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
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
(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-io.import.scm util-stdout.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 \
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
imports: $(HACKERBASE-DEPS)
@ -343,7 +344,7 @@ NOTIFICATIONS-SOURCES=notifications.scm brmember.import.scm \
notifications.o: notifications.import.scm
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.import.scm: $(UTIL-FORMAT-SOURCES)

View file

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

View file

@ -25,8 +25,11 @@
(declare (unit util-format))
(module
(import duck)
(module*
util-format
#:doc ("A simple module with less-common formatting functions.")
(
format-amount
)
@ -36,7 +39,12 @@
(chicken format))
;; 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
(let* ((str (number->string amt))
(flds (string-split str "."))