mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Implement SRFI 28: Basic Format Strings.
* module/srfi/srfi-28.scm: New module. * module/Makefile.am (SRFI_SOURCES): Add srfi/srfi-28.scm. * doc/ref/srfi-modules.texi (SRFI-28): New node.
This commit is contained in:
parent
d1447c717b
commit
cffa9bd6a3
3 changed files with 72 additions and 0 deletions
|
@ -38,6 +38,7 @@ get the relevant SRFI documents from the SRFI home page
|
||||||
* SRFI-23:: Error reporting
|
* SRFI-23:: Error reporting
|
||||||
* SRFI-26:: Specializing parameters
|
* SRFI-26:: Specializing parameters
|
||||||
* SRFI-27:: Sources of Random Bits
|
* SRFI-27:: Sources of Random Bits
|
||||||
|
* SRFI-28:: Basic format strings.
|
||||||
* SRFI-30:: Nested multi-line block comments
|
* SRFI-30:: Nested multi-line block comments
|
||||||
* SRFI-31:: A special form `rec' for recursive evaluation
|
* SRFI-31:: A special form `rec' for recursive evaluation
|
||||||
* SRFI-34:: Exception handling.
|
* SRFI-34:: Exception handling.
|
||||||
|
@ -3276,6 +3277,42 @@ reasonably small value (related to the width of the mantissa of an
|
||||||
efficient number format).
|
efficient number format).
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
|
@node SRFI-28
|
||||||
|
@subsection SRFI-28 - Basic Format Strings
|
||||||
|
@cindex SRFI-28
|
||||||
|
|
||||||
|
SRFI-28 provides a basic @code{format} procedure that provides only
|
||||||
|
the @code{~a}, @code{~s}, @code{~%}, and @code{~~} format specifiers.
|
||||||
|
You can import this procedure by using:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(use-modules (srfi srfi-28))
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} format message arg @dots{}
|
||||||
|
Returns a formatted message, using @var{message} as the format string,
|
||||||
|
which can contain the following format specifiers:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item ~a
|
||||||
|
Insert the textual representation of the next @var{arg}, as if printed
|
||||||
|
by @code{display}.
|
||||||
|
|
||||||
|
@item ~s
|
||||||
|
Insert the textual representation of the next @var{arg}, as if printed
|
||||||
|
by @code{write}.
|
||||||
|
|
||||||
|
@item ~%
|
||||||
|
Insert a newline.
|
||||||
|
|
||||||
|
@item ~~
|
||||||
|
Insert a tilde.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
This procedure is the same as calling @code{simple-format} (@pxref{Writing})
|
||||||
|
with @code{#f} as the destination.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
@node SRFI-30
|
@node SRFI-30
|
||||||
@subsection SRFI-30 - Nested Multi-line Comments
|
@subsection SRFI-30 - Nested Multi-line Comments
|
||||||
@cindex SRFI-30
|
@cindex SRFI-30
|
||||||
|
|
|
@ -278,6 +278,7 @@ SRFI_SOURCES = \
|
||||||
srfi/srfi-19.scm \
|
srfi/srfi-19.scm \
|
||||||
srfi/srfi-26.scm \
|
srfi/srfi-26.scm \
|
||||||
srfi/srfi-27.scm \
|
srfi/srfi-27.scm \
|
||||||
|
srfi/srfi-28.scm \
|
||||||
srfi/srfi-31.scm \
|
srfi/srfi-31.scm \
|
||||||
srfi/srfi-34.scm \
|
srfi/srfi-34.scm \
|
||||||
srfi/srfi-35.scm \
|
srfi/srfi-35.scm \
|
||||||
|
|
34
module/srfi/srfi-28.scm
Normal file
34
module/srfi/srfi-28.scm
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
;;; srfi-28.scm --- Basic Format Strings
|
||||||
|
|
||||||
|
;; Copyright (C) 2014 Free Software Foundation, Inc.
|
||||||
|
;;
|
||||||
|
;; This library is free software; you can redistribute it and/or
|
||||||
|
;; modify it under the terms of the GNU Lesser General Public
|
||||||
|
;; License as published by the Free Software Foundation; either
|
||||||
|
;; version 3 of the License, or (at your option) any later version.
|
||||||
|
;;
|
||||||
|
;; This library is distributed in the hope that it will be useful,
|
||||||
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
;; Lesser General Public License for more details.
|
||||||
|
;;
|
||||||
|
;; You should have received a copy of the GNU Lesser General Public
|
||||||
|
;; License along with this library; if not, write to the Free Software
|
||||||
|
;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; This module provides a wrapper for simple-format that always outputs
|
||||||
|
;; to a string.
|
||||||
|
;;
|
||||||
|
;; This module is documented in the Guile Reference Manual.
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(define-module (srfi srfi-28)
|
||||||
|
#:replace (format))
|
||||||
|
|
||||||
|
(define (format message . args)
|
||||||
|
(apply simple-format #f message args))
|
||||||
|
|
||||||
|
(cond-expand-provide (current-module) '(srfi-28))
|
Loading…
Add table
Add a link
Reference in a new issue