Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lua

Войти
Регистрация
Восстановить пароль
 
WennY
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 131
#1

Передача аргументов методы в реализации ООП - Lua

22.10.2015, 21:25. Просмотров 341. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Пытаюсь изобразить ООП. Как получить доступ к аргументу функции (всегда nil)? Спасибо.

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TestClass = {}
function TestClass:new()
    local public = {}
 
    function public:echo( arg )
        message( arg, 1 )
    end
 
    setmetatable(public,self)
    self.__index = self; return public
end
 
local TestClass = TestClass:new();
TestClass.echo( "123" )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2015, 21:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача аргументов методы в реализации ООП (Lua):

Объясните некоторые принципы ООП в конкретной реализации - PHP ООП
Доброго дня! У меня есть пользователи, которые делятся на зарегистрированных (User) и незарегистрированных (Person) и создаются...

Ищу ментора(ов) по ООП (проектированию архитектуры и реализации) - ООП и паттерны
Ни разу не занимался подобным, опыта нет, но хочу его получить. Создал такую тему http://www.cyberforum.ru/java/thread1896467.html здесь и...

Нестандартные запросы методы реализации - MS Access
Здравствуйте помогите в конструкторе запросов реализовать или вариант кода sql для MS Access2010 5. Для каждой газеты посчитать...

Методы в ООП - Delphi
Всем привет! У меня есть несколько вопросов касающихся методов, и не только: 1.Метод конструктор. У процедуры конструктора всегда...

ООП, методы - C++
Такая проблема. Пишу класс, реализующий множество целых чисел. Число k принадлежит множеству, если a=1. Вот IntegerSet.h пока...

Могут ли теоретически существовать методы с неопределенным числом аргументов? - C++
Разумно ли использовать va args в таких ситуациях?

4
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
23.10.2015, 11:27 #2
Вы при объявлении echo использовали двоеточие, а при вызове точку
0
WennY
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 131
23.10.2015, 12:24  [ТС] #3
Вы правы.. Если не затруднит, не могли бы вы скинуть ссылку на док, описывающий разницу между объявлениями между точкой и двоеточием?
0
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
24.10.2015, 11:23 #4
Смотрите на http://www.lua.org
a:b(...) это упрощённая запись для a.b(self,...)
0
Avazart
Эксперт С++
7433 / 5472 / 310
Регистрация: 10.12.2010
Сообщений: 24,383
Записей в блоге: 17
29.10.2015, 15:34 #5
У меня такой пример:
Код
local TPoint = {}
TPoint.__index = TPoint;

function TPoint.Create(x,y)
  return setmetatable({x=x,y=y}, TPoint);  -- Доступ к мета таблице
end

function TPoint.__add(a, b)   -- событие +
  return Point(a.x+b.x,a.y+b.y);
end

function TPoint.print(self)
  print('['..self.x..':'..self.y..']');
end

local a = TPoint.Create(1,7);

a:print();
0
29.10.2015, 15:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2015, 15:34
Привет! Вот еще темы с ответами:

Методы реализации операций над текстом - C++
Не совсем понятны мне алгоритмы, как реализовать такие операции над текстом:

методы оптимизапции выполнения реализации субд - SQL Server
Доброго времени суток! Большая просьба подкинуть литературу на данную тему. Методы оптимизапции выполнения SQL-запросов в реализации субд...

C++ ООП Наследование методы - C++
у меня тут класс A и класс B который наследует B наслудет конструкор класса A, в этом конструторое идет вызов метода из A а мне надо...

Передача аргументов - Java
У меня такая проблема: есть один класс "А" для сохранения и обработки данных, и другой класс "В" который отвечает за GUI(наследуется от...


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

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

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