LINUX.ORG.RU

История изменений

Исправление LightDiver, (текущая версия) :

Ну это ж ересь! Я вообще не понимаю. Смотри:

function gmTest (gmTestNome)
	for i=1,#gmList do
		if gmTestNome==gmList[i] then
			gmTestRez = "гм"
			break
		else
			gmTestNome = nil
		end
		i=i+1
	end
	return gmTestRez
end

for i=1,#gmList do –читаем таблицу от 1 элемента до последнего. Так? Так.

if gmTestNome==gmList[i] then –если принятый ник равняется списку таблицы, то gmTestRez = «гм» –переменная равняется «гм», выйти из цикла.

else –в противном случае gmTestNome = nil переменная равняется nil.

return gmTestRez вертаем содержимое переменной. Ну логично же? Логично. А возвращает ВСЕГДА «гм». То есть по первому условию. Что не так то?! Ну где я дурак? Что угодно скорми ей, вернет по первому условию.

Я вставил принты, сравнил. Оно даже дальше первого пункта таблицы не идет. Всегда считает, что первый пункт таблицы равняется чему годно принятому. Хотя принты выводят разное.

Исходная версия LightDiver, :

Ну это ж ересь! Я вообще не понимаю. Смотри:

function gmTest (gmTestNome)
	for i=1,#gmList do
		if gmTestNome==gmList[i] then
			gmTestRez = "гм"
			break
		else
			gmTestNome = nil
		end
		i=i+1
	end
	return gmTestRez
end

for i=1,#gmList do –читаем таблицу от 1 элемента до последнего. Так? Так.

if gmTestNome==gmList[i] then –если принятый ник равняется списку таблицы, то gmTestRez = «гм» –переменная равняется «гм», выйти из цикла.

else –в противном случае gmTestNome = nil переменная равняется nil.

return gmTestRez вертаем содержимое переменной. Ну логично же? Логично. А возвращает ВСЕГДА «гм». То есть по первому условию. Что не так то?! Ну где я дурак? Что угодно скорми ей, вернет по первому условию.