On 2020-10-18 12:42 pm, Matthew Fong wrote:
Hello everyone,
I am having a bit of an issue storing a variable in an alist, and I was
wondering if you all could point out what I am doing wrong. If I write
the
string directly, there's no issue retrieving it ...
my-alist = #'((1 . "A") (2 . "B") (3 . "C"))
value = #(ly:assoc-get 2 my-alist " error")
\markup \value
hymnID = "210"
hymnMeter = "8.8.8.8"
hymnAlist = #'(("ID" . \hymnID ) ("Meter" . \hymnMeter ))
hymnValue = #(ly:assoc-get "ID" hymnAlist "error")
\markup \hymnValue
Jean already covered the bit about quasi-quoting.
But there is no need to do this as you can store values in an alist
using dot syntax in LilyPond:
%%%%
hymn.id = "643"
hymn.meter = "6 6 11 6 6 11 D"
\markup #(ly:assoc-get 'id hymn "no value")
\markup #(ly:assoc-get 'tune hymn "no value")
%%%%
\hymn automatically is an alist.
-- Aaron Hill