Size: a a a

2019 August 09

A

Anton in pro.lua
Snusmumriken
С другой стороны, Серёжа делает вброс, и дальше мы дружно дискутируем и бьём его по рукам, движуха идёт, сообщество развивается и не стагнирует.
Так вот и я о чём. Лишь бы всем было весело :-)
источник

AP

Andrei Pavlenko in pro.lua
Доброго времени суток. Объясните пожалуйста новичку в чем разница между точкой и двоеточием при вызове функции connect_signal. Я так понимаю, через точку мы получаем просто функцию, а двоеточие используется какбы для вызова метода объекта?
источник

S

Snusmumriken in pro.lua
Точки и точки с запятыми.

local t = {}

function t.foo(tbl, a, b)
 tbl.v = a + b
end

t.foo(t, 10, 20)
t:foo(10, 20)

==
local t = {}

-- аргумент self автоматически провешивается, если пишем двоеточие при инициализации
function t:foo(a, b)
 self.v = a + b
end

t:foo(10, 20)

t.foo(t, 10, 20)
источник

S

Snusmumriken in pro.lua
Andrei Pavlenko
Доброго времени суток. Объясните пожалуйста новичку в чем разница между точкой и двоеточием при вызове функции connect_signal. Я так понимаю, через точку мы получаем просто функцию, а двоеточие используется какбы для вызова метода объекта?
Ты видел ООП в питоне? Там всякие

class Foo:
 bla = 10
 
 def bar(self, a, b):
   self.bla = a + b
источник

S

Snusmumriken in pro.lua
Это совершенно то же самое, только более явные вызовы, но при инициализации функции-метода через двоеточие не надо писать self.
источник

AP

Andrei Pavlenko in pro.lua
Теперь понятно. Спасибо
источник

S

Snusmumriken in pro.lua
Можно даже сделать что-то такое:

local str = {}
function str:split(delm)
 delm = delm or " "
 local res = {}
 -- self это первый аргумент,
 -- который передадут в функцию
 for l in string.gmatch(self..delm, "(.-)"..delm) do
   res[#res + 1] = l
 end
 return res
end

-- передаём первым аргументом строку
local tbl = str.split("hello world", " ")
print(tbl[1]) --> "hello"

То есть, self может не быть таблицей. Что туда передадим — то и будет. В ООП на сишных структурах такое часто используется.
источник

S

Snusmumriken in pro.lua
И в методах строк — то же самое. У них списком методов является таблица string.
local s = "yo"
print(string.match(s, ".")) --> y
print(s:match("."))         --> y


Но тут уже метатаблицы, да.
источник

S

Snusmumriken in pro.lua
Andrei Pavlenko
Теперь понятно. Спасибо
Во, иди читать. Для общего образования, про точки с двоеточиями там тоже есть.
https://habr.com/ru/post/346892/
источник

LO

Lucky Ook in pro.lua
тупой вопрос можно?
источник

LO

Lucky Ook in pro.lua
если трассировщик лучей на luavela нафигачить, насколько он будет быстр?
источник

LO

Lucky Ook in pro.lua
точнее, кто будет быстрее - он или luajit?
источник

МК

Марк ☢️ Коренберг in pro.lua
Lucky Ook
если трассировщик лучей на luavela нафигачить, насколько он будет быстр?
А обязательно на луе делать ?
источник

LO

Lucky Ook in pro.lua
ага
источник

LO

Lucky Ook in pro.lua
источник

МК

Марк ☢️ Коренберг in pro.lua
А ты аналогичное на джс сделай. Посредством asmjs
источник

МК

Марк ☢️ Коренберг in pro.lua
И посмотри
источник

МК

Марк ☢️ Коренберг in pro.lua
Bytearray или как там
источник

МК

Марк ☢️ Коренберг in pro.lua
В джс
источник

МК

Марк ☢️ Коренберг in pro.lua
Тайпед аррейс
источник