lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Guile question


From: Jay Vara
Subject: Guile question
Date: Sat, 27 Sep 2014 19:06:32 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

I am trying to define a function test that takes a string and returns 
the value of the variable the string represents. For example, if aaa = 
25, then bbb = \test "aaa" would be the same as bbb = \aaa. 

If I use the eval-string command directly, it is working fine. When I 
try to put it in a function, it comes up with the error wrong type as 
below:

\version "2.18.2"

test =
#(define-scheme-function
     (parser location raga)
     (string?)
     (format #t "Inside function raga = ~a ~%" raga)
     ((eval-string raga)))
     

abc = IamJustAText
ab = enna
ennac = parava

xyz = #(eval-string  (string-append ab "c") )

#(format #t "1) abc = ~a   xyz = ~a ~%" abc xyz)

% This prints: 1) abc = IamJustAText   xyz = parava 

par = abc

#(format #t "2) abc = ~a   xyz = ~a par = ~a ~%" abc xyz (eval-string 
par) )

% This prints ) abc = IamJustAText   xyz = parava par = IamJustAText 

xyz = \test #(string-append ab "c")

% This gives an error: 
%   document.ly:8:6: In expression ((eval-string raga)):
%   document.ly:8:6: Wrong type to apply: "parava"

#(format #t "3) xyz ~a ~%" xyz)

% This is the end of this example program





reply via email to

[Prev in Thread] Current Thread [Next in Thread]