1) возможно включена друга раскладка клавиатуры. sendex зависим от той раскладки которую вы используете в приложении. См ените ее на англ или русский. Так же были подобные приколы в зависимости от раскладки в пилоте.
2) Proc, gosub, while, for, repeat, break. Тут нужно понимать, что сама логика программы будет строиться чуть иначе. Потому что код с goto нечитаемый. Как только вы напишите хотя бы 200-300 строк вы уже не будете понимать, что там происходит в этой лапше и почему оно идет не туда куда надо и что со всем этим делать.
В lua основная замена - function. Полноценная реализация функций то, что в какой-то мере было реализовано в gosub и proc. При это очень удобно бывает прерывать функцию через return при необходимости сделать какую-то более широкую логику. Ну и while, for, repeat, break никто не отменял. goto в luajit есть. Даже работает. Использовать не нужно ровно по тем же причинам.
Вообще в свое время я полностью отказался от goto и не жалею. Это поставило на место очень многие вещи и струтурировало код. Я могу сейчас написать очень много пространных речей, но проблема в том, чтобы понять все это нужен будет опыт написания. Причем не какие-то сухие знания либо уровень интеллекта, а тупо опыт. Вам будет достаточно наступить на пару граблей. Просто послушайте совета от всего сердца и с самыми добрыми намерениями - не используйте его никогда.
// А теперь вредные советы и задачи повышенной сложности со зведочкой. Вообще в современном мире есть одно оправдание использования goto - это прерывание нескольких вложенных циклов. Что-то типа:
Код
while
for
if ...
goto break_while
end
тут какой-то код_1. Задача не выполнить его при if
end
тут какой-то код_2. Задача не выполнить его при if
end
::break_while
Наличие код_1 или код_2 в данном случае обязательно. Но даже тут можно обойтиесь без goto. Если все это выкинуть в отдельную функцию, то прервать можно использовав return вместо goto.
Сообщение отредактировал DarkMaster - 1.4.2023, 16:25