[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Writing "raw" strings in Lua
- From: Roberto Ierusalimschy <roberto@...>
- Date: Fri, 02 Jan 1998 11:07:20 -0200
> What's the easiest way to write a "raw" string out [?]
You can use the option "%q" in "format". For instance:
aString = "Hello,\nHow are you?\n"
print(format('%q', aString))
Results in:
"Hello,\
How are you?\
"
Notice that '%q' puts the quotes back in the string...
Another option is to use "gsub", but just once:
gsub(aString, "([\n\t\"])", "\\%1")
The |write("[[",s,"]]")| form is not 100% safe, since the string *may have*
an unbalanced "[[" or "]]".
-- Roberto
PS: from the Lua manual (3.0), section 4.1:
" Literal strings can also be delimited by matching [[ ... ]]. Literals in
this bracketed form may run for several lines, may contain nested [[ ... ]]
pairs, and do not interpret escape sequences. This form is specially
convenient for handling strings that contain program pieces or other
quoted strings. "