CustomGames.ru - Dota 2 пользовательские игры

Lua

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн doter.ua

  • Друзья CG
  • 272
  • Мощь: 1
Lua
« : 27-06-2015, 15:11:15 »
Для освоение луа  можно навернуть эту статью. Первой половины должно хватить, остальное можно потом дочитать.
гайды
сурпрайз mthfckr :D

[свернуть]

Оффлайн -ExotiC-

  • Администратор
  • 340
  • Мощь: 3
  • Забанен
Re: Lua
« Ответ #1 : 27-06-2015, 20:00:13 »
Кстати да, не было вообще представлений о его синтаксисе (хотя знания в программировании были), и с помощью данной статьи довольно быстро разобрался. Желательно помедленней читать, чтобы усвоилось :)

Оффлайн xxNpCxx

  • 85
  • Мощь: 0
  • Do it simple bitch
Re: Lua
« Ответ #2 : 22-10-2015, 03:52:48 »
 ??? Первое что я сделал когда увидел расширение скриптов в доте - это прочитал данную статью -) Очень помогла. Читайте. Полезно будет.

Оффлайн EnDronist

  • 222
  • Мощь: 1
  • Перфекционист-максималист
Re: Lua
« Ответ #3 : 07-08-2016, 14:59:37 »
Как использовать div и mod?
Код
условие что-то < чего-то + _div(a,b) 
Ням
Мой аддон: steamcommunity.com/...ils/?id=671144274
[свернуть]

Онлайн Илья

  • Супермодератор
  • 2031
  • Мощь: 19
Re: Lua
« Ответ #4 : 07-08-2016, 16:11:06 »
Такие вопросы можно и гуглу задавать.

Это стандартные математические операторы в большинстве языков программирования: первый целой части деления, второй остатка от деления.

Оффлайн EnDronist

  • 222
  • Мощь: 1
  • Перфекционист-максималист
Re: Lua
« Ответ #5 : 07-08-2016, 16:43:38 »
Такие вопросы можно и гуглу задавать.

Это стандартные математические операторы в большинстве языков программирования: первый целой части деления, второй остатка от деления.
Искал, но нормального ответа не нашёл. Пришлось пользоваться math.floor(a/b), как заменой div(a,b).
Ням
Мой аддон: steamcommunity.com/...ils/?id=671144274
[свернуть]

Онлайн Илья

  • Супермодератор
  • 2031
  • Мощь: 19
Re: Lua
« Ответ #6 : 07-08-2016, 16:50:15 »
Елки палки, первой же ссылкой пишут:

Цитировать
"div": the / operation. Behavior similar to the "add" operation.

Цитировать
2.5.1 – Arithmetic Operators

Lua supports the usual arithmetic operators: the binary + (addition), - (subtraction), * (multiplication), / (division), % (modulo), and ^ (exponentiation); and unary - (negation). If the operands are numbers, or strings that can be converted to numbers (see §2.2.1), then all operations have the usual meaning. Exponentiation works for any exponent. For instance, x^(-0.5) computes the inverse of the square root of x. Modulo is defined as

     a % b == a - math.floor(a/b)*b
That is, it is the remainder of a division that rounds the quotient towards minus infinity.

Оффлайн EnDronist

  • 222
  • Мощь: 1
  • Перфекционист-максималист
Re: Lua
« Ответ #7 : 07-08-2016, 16:56:39 »
Елки палки, первой же ссылкой пишут:
Ну это mod, а div?
Ням
Мой аддон: steamcommunity.com/...ils/?id=671144274
[свернуть]

Онлайн Илья

  • Супермодератор
  • 2031
  • Мощь: 19
Re: Lua
« Ответ #8 : 07-08-2016, 17:02:16 »
Емае, ты наверное очень устал, раз читаешь между строк:

Цитировать
"div": the / operation. Behavior similar to the "add" operation.

Тебе говорят, что "div" в lua заменен на "/". В некоторых языках это один и тот же оператор, то есть после "/" получаешь целое число, а не с плавающей точкой.  Но в lua не так и получаешь с плавающей точкой и об этом тебе говорят в примере нахождения модуля:

Цитировать
a % b == a - math.floor(a/b)*b

Для определения целой части от деления используют в lua оператор floor(x) либо ceil(x) .

!!!

Оффлайн EnDronist

  • 222
  • Мощь: 1
  • Перфекционист-максималист
Re: Lua
« Ответ #9 : 07-08-2016, 18:04:48 »
Илья, Но это же знак деления
Ням
Мой аддон: steamcommunity.com/...ils/?id=671144274
[свернуть]

Онлайн Илья

  • Супермодератор
  • 2031
  • Мощь: 19
Re: Lua
« Ответ #10 : 07-08-2016, 19:19:44 »
В общей математике это знак деления....

В программировании это оператор. Как и div() и mod(). И этот самый "знак деления" определяется этими операторами. Это функция. Знак "/" то же самое что, например, "GetModifierStackCount()".

И в lua взяли и переопределили div() как "/". Причем не просто как div(), а вместо с тем же mod(), потому что в lua когда нацело не делится получаешь число с плавающей точкой. А в той же джаве, насколько помню, но могу ошибаться, когда делишь через "/" получаешь целую часть от деления.


Если хочешь понимать программирование - читай специализированную литературу, а не тут вопросы задавай. 
« Последнее редактирование: 07-08-2016, 19:21:31 от Илья »

Оффлайн ZLOY

  • Супермодератор
  • 395
  • Мощь: 5
Re: Lua
« Ответ #11 : 07-08-2016, 20:09:45 »
lua когда нацело не делится получаешь число с плавающей точкой
В lua нет целочисленных типов просто
А в той же джаве, насколько помню, но могу ошибаться, когда делишь через "/" получаешь целую часть от деления.
Зависимо от типа данных может быть и с плавающей запятой

Оффлайн EnDronist

  • 222
  • Мощь: 1
  • Перфекционист-максималист
Re: Lua
« Ответ #12 : 08-08-2016, 02:26:32 »
Если хочешь понимать программирование - читай специализированную литературу, а не тут вопросы задавай.
Раздел "Программирование", как раз-таки и тут)
Ням
Мой аддон: steamcommunity.com/...ils/?id=671144274
[свернуть]

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Re: Lua
« Ответ #13 : 08-08-2016, 03:18:45 »
Фига вы тут устроили то.
Деление по факту операция выдающая на выходе число с плавающей запятой, но в некоторых языках программирования в зависимости от типа переменной куда она потом присваивается, происходит утеря плавающей части либо ее округление.
А по факту
a div b - выдаст целый остаток от деления a на b
a mod b - выдаст дробный после запятой от деления a на b

Оффлайн ZLOY

  • Супермодератор
  • 395
  • Мощь: 5
Re: Lua
« Ответ #14 : 08-08-2016, 06:39:11 »
Фига вы тут устроили то.
Деление по факту операция выдающая на выходе число с плавающей запятой
Очевидно что нет,если учесть что целочисленным операциями и операциями с плавающей  запятой занимаются различные блоки CPU