On Thu, 20 Dec 2018 at 13:10, Urs Liska <[email protected]> wrote:
> > > Am 20. Dezember 2018 13:02:22 MEZ schrieb David Kastrup <[email protected]>: > >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. > > And it must be > > (set! counter (+ 1 counter)) > > (first the procedure "+", then the arguments) > I think 1+ is correct. David use it :)) (I hope I don't remember bad) g.
_______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
