хранить строку байтов в таблице в lua - PullRequest
0 голосов
/ 02 февраля 2011

мне нужно хранить строку байтов в таблице в lua, как я могу это сделать благодаря Jp

Ответы [ 2 ]

3 голосов
/ 03 февраля 2011

Это то, что вы имеете в виду?

s="some string"
t={s:byte(1,#s)}
2 голосов
/ 02 февраля 2011

Строка Lua - это именно то, что вы написали - строка байтов. Lua отличается от C-подобных языков тем, что он 8-разрядный, что означает, что вы даже можете хранить встроенный ноль '\ 0' внутри строк - длина строки хранится отдельно и не зависит от того, где '\ 0' есть.

Вы не написали, откуда вы хотите эти байты (каков источник), поэтому давайте предположим, что вы читаете из файла. В следующем примере f - это дескриптор файла, полученный путем вызова io.open(filename), а t - это таблица (t = {}).

local str = f:read(100) -- will read up to 100 bytes from file handle f
t[#t + 1] = str         -- will append the string to the end of table t
table.insert(t, str)    -- alternative way of achieving the same
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...