2015-11-11 2 views
-1

У меня есть файл с именем conf.lua и имеет следующий код:Как использовать квадратные скобки в lua_getfield

tbl ={ 
    block_ip = true; 
} 

У меня есть код C имеет следующий вид:

lua_getglobal(L, "tbl"); 
lua_getfield(L, -1, "block_ip"); 
ip->ip_str = lua_toboolean(L, -1); 

код работает в совершенстве. Но я хотел бы использовать следующее:

tbl ={ 
     [[block_ip]] = true; 
    } 

Возможно ли добавить квадратные скобки? Если да, то как я могу добавить?

+1

'[[...']] '- строка в lua. Вы не можете назначить строку. Последний блок кода lua недействителен. Что вы на самом деле пытаетесь сделать? –

+0

Чтобы использовать этот способ, мне нужно будет использовать lua_pushstring? – carolzinha

+0

Что вы пытаетесь сделать? –

ответ

0

tbl = { [[block_ip]] = true; } Можно добавить квадратные скобки? Если да, то как я могу добавить?

Да, но вы хотите, одинарные скобки с строки в середине:

tbl = { 
     ["block_ip"] = true; 
} 

Lua позволяет использовать двойные квадратные скобки как строки кавычки, так что вы могли написать выше, как это:

tbl = { 
     [[[block_ip]]] = true; 
} 

Но это было бы излишним, если цитируемый текст не содержит разрывы строк, которые бы просто странно:

tbl = { 
     [[[block_ 

     ip]]] = true; 
} 
Смежные вопросы