Lua, если ошибка оператора

У меня есть этот оператор if, и когда я его запускаю, он возвращает ошибку: "')' ожидаемый"

if (a=1 and b=4 and c=width/2) or (a=2 and b=1 and c=width/2) then
...
end

Я делаю что-то не так здесь? или это что-то не так с lua?


person Arbitur    schedule 16.04.2013    source источник
comment
Я думаю, что ваш = должен быть ==. = устанавливает значение, а == сравнивает значения.   -  person showdev    schedule 17.04.2013
comment
Не то чтобы я много знал о Lua. Но разве это не должно быть == и не =?   -  person MAV    schedule 17.04.2013
comment
Если приведенное ниже помогло вам решить вашу проблему, вы должны отметить это как ответ. Вот как это сделать: мета. stackexchange.com/questions/5234/   -  person ArchiFloyd    schedule 17.04.2013


Ответы (1)


Попробуйте заменить текущий код следующим:

if (a==1 and b==4 and c==width/2) or (a==2 and b==1 and c==width/2) then
...
end

= означает присваивание, тогда как == проверяет на равенство, и похоже, что вы хотите проверить на равенство.

person MAV    schedule 16.04.2013
comment
О, ха-ха, я забыл об этом, я так привык к xcode, который сообщает мне, если я сделаю эту ошибку: P - person Arbitur; 17.04.2013