I wrote: > why it is useful that a filter script can return an array of filters That should obviously have been "must return"! Sorry for any confusion! -- Better --help|less than helpless Den ons 12 aug. 2020 10:19BPJ skrev: > I suppose that it might be worth pointing out that the reason why it is > useful that a filter script can return an array of filters is explained > here: > > https://pandoc.org/lua-filters.html#execution-order > > A note on terminology: Since "table" on its own is rather ambiguous in Lua may > be a good idea to clarify what kind of data a it given table is supposed > to contain by using the terms "array table" and "map table" and possibly > "mixed table" for a table with both array and map data, which are sometimes > convenient in Lua code, e.g. to tag an array. > > -- > Better --help|less than helpless > > Den ons 12 aug. 2020 02:27John MacFarlane skrev: > >> Anton Shepelev writes: >> >> > John MacFarlane to Anton Shepelev: >> > >> >> > The documentation to walk_block() and walk_fil- >> >> > ter() states that the second parameter is "a Lua >> >> > filter (table of functions) to be applied within >> >> > the block element". >> >> > [...] >> >> > Is the documentation incorrect or do I misinter- >> >> > pret it? For aught I know, {Span = OnSpan} is >> >> > not a "table of functions". >> >> >> >> { } makes a table. OnSpan is a function. So, a >> >> table of functions. >> > >> > Please, bear with me. A table in Lua is the one-to- >> > rule-them-all complex type, that can represent many >> > sturctures, including array, associative array, or >> > structure. On the other hand, the generally used >> > meaning of `table' in programming and mathematics is >> > a two-dimensional sturcture with columns and any >> > number of rows from zero up, which, too, can be rep- >> > resented as a table in Lua, although it would be a >> > compound one. >> >> I would have thought that in the context of documenting a Lua >> function 'table' would be naturally interpreted as 'Lua table'. >> >> > But since the parameter is described as "a Lua fil- >> > ter" and "a table of functions", the only way to in- >> > terpret it is as describing the structure of the Lua >> > filter itself, which is a table of functions in both >> > Lua and general terminology: >> > >> > { { Id1 = Func1 } >> > { Id2 = Func2 } >> > { Id3 = Func3 } } >> >> According to the docs, "Lua filters are tables with element names >> as keys and values consisting of functions acting on those >> elements." So yes, the parameter to walk_block is a Lua filter as >> defined in the documentation. >> >> If you had >> >> { { Id1 = Funct1, >> Id2 = Funct2 } } >> >> that would be an array of Lua filters. But now, I see where you >> may be getting confused. Reading on in the docs: "Pandoc expects >> each Lua file to return a list of filters. The filters in that >> list are called sequentially, each on the result of the previous >> filter." It may be confusing that one often uses the term >> "lua filter" for the file itself. But the file can return >> a list (technically an array, implemented as a Lua table) of >> filters. I suspect you are confusing an array of Lua filters -- >> which can be defined in a single Lua file -- with a Lua filter. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "pandoc-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pandoc-discuss/m2o8nghfs7.fsf%40johnmacfarlane.net >> . >> > -- You received this message because you are subscribed to the Google Groups "pandoc-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CADAJKhDhPnbCr-_qyb%3Dn3odtCneVnhsgPHo1wJXXm1nOuF%3DSsg%40mail.gmail.com.