Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
XenSG
0 / 0 / 0
Регистрация: 29.12.2016
Сообщений: 5
1

Функция в таблице

23.07.2018, 15:06. Просмотров 742. Ответов 2
Метки нет (Все метки)

Здравствуйте, у меня возникла такая ситуация:
У меня есть таблица, в ней есть функция, суть в том, что при запуске сцены в ней должна срабатывать функция, производящая манипуляции со значениями переменных в таблице, однако я не знаю как получить эти значения изнутри, пытался вывести значение в консоли, но если это происходило в функции, что внутри таблицы, то я получал nil, а если вне, то изначально заданное значение, выглядит как-то так:

C
1
2
3
4
5
6
7
8
9
10
11
12
local table =
{
     var1 = 10
     var2 = 0
 
     func = function()
     var2 = var1
     print(var2) -- << Здесь неважно какая переменная стоит, всё равно выдаёт nil
     end
}
 
print(var2)  --<<Здесь всё ок,
Пытался и писать переменные так
["var1"] = 10
не работает,
пытался получить доступ к ним таким образом:
self.var1
тоже не работает.

Скажите, возможно ли то, что я хочу сделать, и если да то как?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2018, 15:06
Ответы с готовыми решениями:

Доступ к таблице по строке
Есть код: IMAGE = { imgID = 0, content = { NPC = {} } } ...

Поиск по таблице (функция)
Здравствуйте. Подскажите, как сделать поиск по таблице с нужными параметрами...

Функция редактирования записи в таблице
Доброго времени суток! Делаю клиентское приложение.Пытаюсь сделать функцию...

Функция сортировки записей в таблице по ключам
Есть функция сортировки записей в таблице по ключам. Эти ключи выводятся...

Запрос SQL: агрегатная функция по таблице из подзапроса
Подскажите пожалуйста, как написать запрос. Например, имеем две таблицы Printer...

2
vantfiles
47 / 42 / 21
Регистрация: 07.05.2013
Сообщений: 145
23.07.2018, 19:29 2
Лучший ответ Сообщение было отмечено XenSG как решение

Решение

C
1
2
3
4
5
6
7
8
9
object = {}
 
object.x = 123
 
object.func = function()
    print( self.x )
end
 
object:func() -- обратите внимание - двоеточие, а не точка
Добавлено через 17 минут
Пардон, поспешил... вот так:

C
1
2
3
4
5
6
7
8
9
object = {}
 
object.x = 123
 
function object:func()
    print( self.x )
end
 
object:func()
0
XenSG
0 / 0 / 0
Регистрация: 29.12.2016
Сообщений: 5
23.07.2018, 21:00  [ТС] 3
vantfiles, Спасибо, это работает, столько мучился с этим, а решение такое простое.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2018, 21:00

Функция формирует форму для редактирования записи в таблице БД
помогите, пожалуйста, при обращении к функции возвращает ошибку &quot; Warning:...

Функция которая по значению в массиве меняет изображение в таблице
Помогите реализовать функцию resetImageForUser()

Javascript функция которая при клике по таблице скрывает ее
Создать таблицу и написать с помощью Javascript функцию которая при клике...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru