Что нового

Как происходит сравнение типов "object"?

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Со строками и числами вроде понятно как работает IF $s1 = $s2 Then

А как, тоесть, по какому признаку или свойству происходит сравнение для типов object
Например, правильно ли сравнивать таким образом:
Код:
$oIE1=_IECreate("google.com")
$oIE2=_IECreate("mail.ru")

If $oIE1 = $oIE2 Then
	ConsoleWrite("+ Одинаковые" & @LF)
Else
	ConsoleWrite("- Разные" & @LF)
EndIf


Как Autoit понимает что равны два object в следующем примере?

Код:
$oIE1=_IECreate("google.com")
$oIE2=_IECreate("mail.ru")
If $oIE1 = $oIE1 Then
	ConsoleWrite("+ Одинаковые" & @LF)
Else
	ConsoleWrite("- Разные" & @LF)
EndIf


Я это к чему спрашиваю: Я хочу все объекты IE помещать в массив. Затем сделать функцию - которая в качестве аргумента принимает тип "объект" и ищет его в массиве. Если находит - то объект не новый, а уже известный, и с ним можно работать.

Поэтому нужно знать, можно ли сравнивать так: If $oIE1 = $oIE2 Then

Да и для общего развития, хочу понять, как сравниваются "объекты"
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: Как происходит сравнение типов \"object\"?

Тип object представляет собой всего лишь указатель на экземпляр объекта. А как AutoIt их сравнивает ведь не сложно и самостоятельно проверить.


Добавлено:
Сообщение автоматически объединено:

Проверил, сравнивает нормально.
 
Автор
inververs

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
А узнать чему равен указатель можно? Получить к примеру в виде 0xXXXXXX. Что бы визуально отличать один указатель от другого?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Видимо нет.
 
Верх