@@ -6974,11 +6974,58 @@ R7RSのidequeライブラリは@var{idq}が一つの場合のみを定義して
69746974@defunx ideque-fold-right proc knil idq @dots{}
69756975[R7RS ideque]
69766976@c MOD scheme.ideque
6977+ @c EN
6978+ Run @code{fold}/@code{fold-right} over the series of elements
6979+ of given ideques (@pxref{Walking over lists}, for the semantics of
6980+ @code{fold} etc.).
6981+ @c JP
6982+ @code{fold}/@code{fold-right}を与えられたidequeの
6983+ 要素の列に対して適用します
6984+ (@code{fold}等のセマンティクスについては@ref{Walking over lists}
6985+ を参照してください)。
6986+ @c COMMON
6987+
6988+ @c EN
6989+ Note that R7RS @code{(scheme ideque)} only defines
6990+ these procedures to take exactly one @var{idq} argument.
6991+ Allowing more than one @var{idq} arguments is Gauche's extension.
6992+ @c JP
6993+ R7RS @code{(scheme ideque)} はこれらの手続きが@var{idq}引数を1つだけ
6994+ 取ると定義しています。2つ以上のidequeを取れるのはGaucheの拡張です。
6995+ @c COMMON
6996+
6997+ @example
6998+ (ideque-fold cons '() (ideque 1 2 3))
6999+ @result{} (3 2 1)
7000+ (ideque-fold-right cons '() (ideque 1 2 3))
7001+ @result{} (1 2 3)
7002+ @end example
69777003@end defun
69787004
69797005@defun ideque-append-map proc idq @dots{}
69807006[R7RS ideque]
69817007@c MOD scheme.ideque
7008+ @c EN
7009+ Works like @code{(apply ideque-append (ideque-map proc idq @dots{})}, but
7010+ posibbly more efficiently.
7011+ @c JP
7012+ @code{(apply ideque-append (ideque-map proc idq @dots{})}と同じように
7013+ 動作しますが、より効率が良いです。
7014+ @c COMMON
7015+
7016+ @c EN
7017+ Note that R7RS @code{(scheme ideque)} only defines
7018+ these procedures to take exactly one @var{idq} argument.
7019+ Allowing more than one @var{idq} arguments is Gauche's extension.
7020+ @c JP
7021+ R7RS @code{(scheme ideque)} はこれらの手続きが@var{idq}引数を1つだけ
7022+ 取ると定義しています。2つ以上のidequeを取れるのはGaucheの拡張です。
7023+ @c COMMON
7024+
7025+ @example
7026+ (ideque->list (ideque-append-map (^e (list e e)) (ideque 1 2 3)))
7027+ @result{} (1 1 2 2 3 3)
7028+ @end example
69827029@end defun
69837030
69847031@defun ideque-filter pred idq
0 commit comments