EnglishРусский  

   Приложение

Реклама

 Автоматизация работы за компьютером
Все в одном: редактор скриптов, запуск по расписанию, запись с мышки и клавиатуры и т.д.

CreateInstall
Бесплатные и коммерческие инсталляторы

Gentee нужна ваша помощь!
Как разместить рекламу

гелиевые аккумуляторы . Pos материалы покупатели всегда заметят. Цветные pos материалы двусторонняя реклама. . Производство парогенераторов . продажа бетономешалок

Переопределение операций operator

Язык Gentee позволяет для объектов вводить операции с использованием уже существующих операторов (=, ==, +=, +, *, <, == и т.д.). При этом приоритет операторов остаётся неизменным. Обработка операций осуществляется с помощью специальных функций-операторов начинающихся с ключевого слова operator. Далее идет тип результата операции, символьное представление оператора и один или два параметра, в зависимости от того бинарная или унарная операция. Тип параметров совпадает с типом операндов и в параметрах будут значения операндов. Если операция бинарная, то первый параметр представляет левый операнд, а второй правый. Операнды могут быть разного типа. Если результатом является новый объект ( например при сложении ), то необходимо использовать атрибут result. Так же вы можете использовать атрибут alias, если это необходимо.

Если Вы хотите определить операторы сравнения для своего типа, то вам достаточно определить операторы ==, < и >. Операторы !=, >=, <= не требуют определения и автоматически приводятся компилятором к ==, < и >.

operator str +<result>( str left right )
{
   ( result = left ) += right
}

operator str +=( str left, int val )
{
   return left.out4( "%i", val )
}

func main<main>
{
   str dest = "Zero", a="One", b="Two"
   
   print( ( dest = a + b )+= 323 )
}

Смотрите также

Редактировать