lua-users home
lua-l archive

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

On Sep 18, 2007, at 5:31 AM, Patrick Donnelly wrote:

It would probably be better to just let everything be done via stdin
and stdout, using pipes:



file = io.stdin:read("*all");

file = string.gsub(file, "localgreek(%b{})", function(lines)
      return "localgreek"..string.gsub(lines, 'a', 'b');



You will probably want to have the "return "localgreek" ..." part of
the code just call a function which iterates over your table of
substitutions for each capture. Notice that you need the "localgreek"
part concatenated otherwise you lose it.


-- -Patrick Donnelly

Yes, this and Tomás's answer have helped a lot. I've got the function- with-gsub and the iterator working, but I've hit another snag: I build my array of substitutions like so:

subs = {
a = "α",
b = "β"

etc. But as soon as I try to stick some non-alphanumerical characters in there like so:

>~h| = ᾖ

I get errors. Is it impossible to have keys to an array that are of this form, or am I missing something obvious?

Thanks again!