Краткий обзор синтаксиса скриптового языка программирования Lua.
Тем, кто уже имел дело с написанием кода на любом другом ЯП, будет достаточно просто.
15 19 836
2
30
5 лет назад
Отредактирован Tiodor
2
Разбить бы статью под каты по блокам.
В таком виде было бы симпатичней.
Оу, я думал новая статья, а она 13 года
0
24
5 лет назад
Отредактирован prog
0
NazarPunk, я шесть лет назад писал в комментах под этой статьей что комменты в коде местами кривоваты)
0
29
5 лет назад
0
prog, это же уровень памяти, а написано так, что можно подумать
s = 'one'
s = 'two'
print(s) --> one
0
24
5 лет назад
0
NazarPunk, суть в том, что это разные строки лежащие по разному адресу в памяти - нельзя взять и поменять часть строки не получив новую строку по новому адресу на выходе.
0
29
5 лет назад
Отредактирован nazarpunk
0
Кто хочет конкретики, пусть читает документацию.
Тогда получается, что статьи не нужны)

Я кстати не понял вот этого
s = 'walternate'  --строки неизменны (нельзя переназначать) как в Рython'e
Хотя код ниже прекрасно исполняется
s = 'one'
s = function()
	return 'work'
end
print(s()) --> work
0
28
5 лет назад
0
NazarPunk, область видимости вообще для языков тема общая. Да и сама статья не претендовала на что-то ого-го, просто чтобы влиться. Кто хочет конкретики, пусть читает документацию.
0
29
5 лет назад
0
-- Следующее выражение подобно конструкции a?b:c в C/js:
С тернарным оператором в луа проблема

И не сказано про замыкания и области видимости.
0
28
5 лет назад
Отредактирован PT153
0
Старенькая статья, однако.

-- Следующее выражение подобно конструкции a?b:c в C/js:
ans = aBoolValue and 'yes' or 'no' --> 'no'
Это не так, b и с порой обозначают действия.

А так статейка полезная.
0
1
5 лет назад
0
>>>> thisIsGlobal = 5 -- Camel case is common.
>> Означает что-то вроде широко применяется Camel case - стиль идентификаторов когда все слова пишутся с заглавной буквы
Даже в исходном английском тексте ошибка.
Это lowerCamelCase, а не простой CamelCase
>> Корректный перевод:
>> --неопределенные переменные эквивалентны nil
Корректный перевод - нечто среднее между тем, как перевели вы и исходным критикуемым вами переводом.
"Неопределенные переменные возвращают nil"
Ваш перевод "Это не вызовет ошибку" - некорректен. Исходный перевод "Это не будет ошибкой" точнее вашего, ибо на самом-то деле там написано "Это не ошибка"
>> более менее понятно хотя статья походит больше на справку для уже немного знающих LUA
Для знающих Lua даже немного - она не нужна. Что там знать-то?
Это статья для хорошо знающих другие языки программирования, чтобы быстро въехать в Lua
1
1
6 лет назад
1
thisIsGlobal = 5 -- без комментариев
в оригинале
thisIsGlobal = 5 -- Camel case is common.
Означает что-то вроде широко применяется Camel case - стиль идентификаторов когда все слова пишутся с заглавной буквы
-- Обнулённые переменные возвращают nil.
-- Это не будет ошибкой:
foo = anUnknownVariable -- Теперь foo = nil.
в оригинале
-- Undefined variables return nil.
-- This is not an error:
foo = anUnknownVariable -- Now foo = nil.
Корректный перевод:
--неопределенные переменные эквивалентны nil
--Это не вызовет ошибку (имеется в виду, что например в С/С++ была бы ошибка поскольку anUnknownVariable ранее не была определена)