lua-users home
lua-l archive

Re: request for isprint character class code in string.gsub patterns

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


Have you looked at the %q string.format code ?
On 24-Sep-04, at 3:55 PM, David Jones wrote:
I'm writing a function to quote a string, that is, it takes a string and returns a string that when printed is acceptable as a lua literal (and the literal is equal to the passed string). Has anyone already written such a code? (And is it freely available) It seems like such a commonly needed function. There's a bit in this function where it expands unprintable codes to the \nnn representation. It currently looks a bit like this: string.gsub("7円ab","[^ %p%w]", function(x)return '\\'..string.byte(x)end) What I want to do is match all non-printable characters. C provides this concept via isprint and isgraph, but in Lua I have to use the union of " ", "%p" (punctuation), and "%w" (alphanumerics). Which relies on isprint being a union of space, isprint, and isalnum (which the C standard guarantees, but it seems tenuous). Would it be possible to have another % code for the isprint character class? %t perhaps (for typeable or text)? From a completeness aspect I suppose we should also have one for isgraph. Or do The Implementors think that the current situation, synthesis via %w and %p, is ok?
David Jones

AltStyle によって変換されたページ (->オリジナル) /