[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: newbie question - strings and arrays
- From: Chris Marrin <chris@...>
- Date: Thu, 13 Oct 2005 07:47:14 -0700
David Given wrote:
On Thursday 13 October 2005 13:04, Jose Marin wrote:
Thinking on a more esay to use than a fast solution,
how hard would be to create a "String" class in Lua,
with the operator [] overloaded?
With Lua 5.1, I believe that the 'string' table is the default metatable for
strings. So:
function string:__index(s, i)
if (type(i) == "number") then
return string.substr(s, i, i)
end
return nil
end
...might do what you want. (Untested. Never used Lua 5.1.)
This would work fine for ASCII, and maybe even for Latin1 in some cases.
But if your string is UTF8, then you will possibly be getting
intermediate bytes. Plus the count would be a byte count so if you want
the nth character and there are UTF8 sequences before it, you will get
the wrong character.
My Fusion package will have a Javascript String object which will make
strings look like Unicode sequences and will support character indexing
as well as things like split, join and substring.
--
chris marrin ,""$, "As a general rule,don't solve puzzles
chris@marrin.com b` $ that open portals to Hell" ,,.
,.` ,b` ,` , 1$'
,|` mP ,` :$$' ,mm
,b" b" ,` ,mm m$$ ,m ,`P$$
m$` ,b` .` ,mm ,'|$P ,|"1$` ,b$P ,` :$1
b$` ,$: :,`` |$$ ,` $$` ,|` ,$$,,`"$$ .` :$|
b$| _m$`,:` :$1 ,` ,$Pm|` ` :$$,..;"' |$:
P$b, _;b$$b$1" |$$ ,` ,$$" ``' $$
```"```'" `"` `""` ""` ,P`