Gianmaria Lari <[email protected]> writes:
> %alternate version
> \version "2.19.82"
> nextcount =
> #(let ((counter 0))
> (lambda ()
> (set! counter (1+ counter))
> (number->string counter)))
>
> \markup #(nextcount)
> \markup #(nextcount)
>
>
> I would like to know if it is possible to write it using
> define-scheme-function. This is what I tried that does not compile.
>
> \version "2.19.82"
> nextcount =
> #(define-scheme-function () ()
> (let ((counter 0))
> (lambda ()
> (set! counter (1+ counter))
> (number->string counter)
> )
> ))
>
> \mark \nextcount
> \mark \nextcount
Uh, there is a difference between \markup and \mark . Once you fixed
that, your counter will be reset to 0 for each invocation of the
function. You need
nextcount =
#(let ((counter 0))
(define-scheme-function ...
instead.
--
David Kastrup
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user