lua-users home
lua-l archive

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


On Wed, Jun 20, 2012 at 10:43 PM, Coda Highland <chighland@gmail.com> wrote:
> On Wed, Jun 20, 2012 at 10:36 PM,  <meino.cramer@gmx.de> wrote:
>> Hi,
>>
>> from a string in a table like this
>>
>>    a={}
>>    a[1]="hello"
>>
>> I want to access/retrieve the n-th character.
>>
>> Somewhere I read about, that in lua everything is a table,
>> therefore I thought that
>>
>>    =a[1][1]
>>
>> would gives me "h" instead of an error.
>>
>> But this may be thought too C-ish... ;)
>>
>> I scanned through the String Tutorial, the String Library Tutotrial
>> and the online version of Programming Lua and found nothing what seems
>> appropiate to me...but I am sure that's due to me.... :)
>>
>> What is the most cheapest (in terms of performance and programming
>> overhead) way to access the n-th character of a string which stored
>> at a certain index in a table?
>>
>> Thank you very much in advance for any help!
>> Best regards,
>> mcc
>
> Strings are tables, but the characters aren't table elements. Lua
> doesn't offer that sugar. Instead, consult string.sub(). You'll
> probably use it like this:
>
> a[1]:sub(1,1)
>
> /s/ Adam

Correction: Strings are strings. Not everything in Lua is a table.
(Numbers aren't tables either, for example.) But strings have a common
metatable, which gives them access to the functions in the "string"
library.

/s/ Adam