2012-10-11 6 views
0

мне нужно сделать, заменить значение ключа в Lua, для примера рассмотрим таблицуЗаменить табличное значение ключа в Lua

t = {"book", "ball", "bank"} 

здесь мне нужно изменить значение для «поле» вместо "мяч". как это сделать ?

ранее я пытался найти значение ключа и изменить, но он не сработал !!!

for key, value in pairs(t) do 
    if key == 2 then 
    value = "box" 
    end 
end 

но это не сработало .. если кто знает альтернативный способ, пожалуйста, дайте мне предложения?

ответ

5

Это логично.

В петле переменные цикла key и value являются местными жителями. Поэтому переназначая их, он просто меняет значение, на которое ссылается локальная переменная. После 1 цикла цикла местные жители заканчивают работу и отбрасываются.

Чтобы изменить значение в справочной таблице самой таблицы, как

t[key]="box" 

В этом простом примере просто делает t[2]="box", очевидно, также служить;) (вместо того, чтобы перебрать всю таблицу только для замены одно значение) Более подробную информацию можно найти в manual.

+0

oh !!! Да !!! я небрежна ... его логично :-) Спасибо u – ssss05

Смежные вопросы