Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемМарта Минина
1 Лекция 14. Базовые элементы Харитонов А. Ю. Министерство образования и науки Украины Донецкий национальный технический университет Кафедра компьютерных систем мониторинга ГЕОИНФОРМАЦИОННЫЕ СИСТЕМЫ
2 2 Строки Строки ограничиваются символом двойных кавычек. Строки ограничиваются символом двойных кавычек. myString = Hello WorldaStrNum = 100.AsString myString = Hello WorldaStrNum = 100.AsString Строки могут включать специальные символы: символ новой строки, символ табуляции, символ возврата каретки, выраженные в виде предварительно заданных объектов строки 'nl', 'tab', и 'cr'. Строки могут включать специальные символы: символ новой строки, символ табуляции, символ возврата каретки, выраженные в виде предварительно заданных объектов строки 'nl', 'tab', и 'cr'. myString = "Hello World"+NL+"Have a Nice Day" myString = "Hello World"+NL+"Have a Nice Day" В результате: В результате: Hello World Hello World Have a Nice Day Have a Nice Day Связываются две строки оператором + либо ++. Связываются две строки оператором + либо вставляет пробел между двумя строками. ++ вставляет пробел между двумя строками. aDocument = av.GetActiveDoc.GetName aDocument = av.GetActiveDoc.GetName MsgBox.Info( "The active document is"++aDocument, "Active Document") MsgBox.Info( "The active document is"++aDocument, "Active Document") © Харитонов А. Ю.
3 3 Строки - преобразовываются другие объекты Avenue при помощи запросов AsAscii, AsFileName, AsList, AsNumber, AsDate, AsTime, AsEnum, AsToken. - преобразовываются другие объекты Avenue при помощи запросов AsAscii, AsFileName, AsList, AsNumber, AsDate, AsTime, AsEnum, AsToken. aFile = "test.c".AsFileName Так из строки "test.c" создается объект FileName. aFile = "test.c".AsFileName Так из строки "test.c" создается объект FileName. ИЛИ ИЛИ aNum = "100" aNum = "100" if ( aNum.IsNumber ) then if ( aNum.IsNumber ) then myNum = aNum.AsNumber myNum = aNum.AsNumber end Из строки 100 создается числовой объект. ИЛИ ИЛИ myString = "red orange yellow green blue purple" myString = "red orange yellow green blue purple" myList = myString.AsTokens Так создается список: {"red", "orange", "yellow", "green", "blue", "purple"}. myList = myString.AsTokens Так создается список: {"red", "orange", "yellow", "green", "blue", "purple"}. © Харитонов А. Ю.
4 4 Числа Avenue использует постфиксную запись запросов, которые выполняют числовые функции. Avenue использует постфиксную запись запросов, которые выполняют числовые функции. x = -7.abs возвращает абсолютное значение числа -7. x = -7.abs возвращает абсолютное значение числа могут быть преобразованы в другие виды объектов при помощи запросов AsString, AsDays, AsYears, AsHours, AsMinutes, AsSeconds, AsDegrees, AsRadians. - могут быть преобразованы в другие виды объектов при помощи запросов AsString, AsDays, AsYears, AsHours, AsMinutes, AsSeconds, AsDegrees, AsRadians. Класс Interval (Интервал) поддерживает диапазон числовых значений (например, значения от 2 до 25). Оператор.. (две точки) создает интервал. Класс Interval (Интервал) поддерживает диапазон числовых значений (например, значения от 2 до 25). Оператор.. (две точки) создает интервал. i = i = Вы также можете задать значение для шага интервала при помощи запроса by. Вы также можете задать значение для шага интервала при помощи запроса by. evens = by 2 evens = by 2 © Харитонов А. Ю.
5 5 Дата и время два класса, относящихся к дате и времени: Date и Duration. Длительность (duration) - период (промежуток) времени. два класса, относящихся к дате и времени: Date и Duration. Длительность (duration) - период (промежуток) времени. Объекты даты создаются либо на основании текущих значений даты или времени, либо по указанным значениям даты и времени. Объекты даты создаются либо на основании текущих значений даты или времени, либо по указанным значениям даты и времени. today = Date.Now today = Date.Now halloween = Date.Make( "10/31/94", "M/d/y" ) halloween = Date.Make( "10/31/94", "M/d/y" ) Даты могут быть отображены в форматах, определяемых пользователем. Механизмом для определения форматов является форматная строка. Даты могут быть отображены в форматах, определяемых пользователем. Механизмом для определения форматов является форматная строка. © Харитонов А. Ю.
6 6 Дата и время Форматы вывода для объекта могут определяться с помощью запроса SetFormat. В примере объект, на который ссылается переменная today (сегодня), будет отображаться в указанном формате в следующий раз, когда к нему применяется AsString, независимо от формата, принятого по умолчанию для всех объектов даты,. Форматы вывода для объекта могут определяться с помощью запроса SetFormat. В примере объект, на который ссылается переменная today (сегодня), будет отображаться в указанном формате в следующий раз, когда к нему применяется AsString, независимо от формата, принятого по умолчанию для всех объектов даты,. today = Date.Now today = Date.Now today.SetFormat( "M, d, yyyy" ) today.SetFormat( "M, d, yyyy" ) MsgBox.Info( today.AsString, "") MsgBox.Info( today.AsString, "") today.SetFormat( "dddd MMMM d, yyyy" ) today.SetFormat( "dddd MMMM d, yyyy" ) MsgBox.Info( today.AsString, "") MsgBox.Info( today.AsString, "") © Харитонов А. Ю.
7 7 Дата и время Объекты дат поддерживают операции сложения и вычитания. Объекты дат поддерживают операции сложения и вычитания. daysTilChristmas = today – ChristmasDay daysTilChristmas = today – ChristmasDay Вычитается длительность из даты (времени), чтобы в результате получить значение даты (времени), либо уменьшается дата на определенное число дней. Вычитается длительность из даты (времени), чтобы в результате получить значение даты (времени), либо уменьшается дата на определенное число дней. 2DaysAgo = today - 2.AsDays today.IncrementByDays(-2) IncrementBy обеспечивает более точные результаты © Харитонов А. Ю.
8 8 Логические выражения - два класса- 'true', 'false'. - два класса- 'true', 'false'. К этим объектам можно обратиться непосредственно, используя ключевые слова 'true' или 'false', или косвенно посредством Булева выражения. Булево выражение представляет собой любую последовательность запросов, результат которых выражается в булевой (логической) форме, то есть в форме объектов 'true' или 'false'. К этим объектам можно обратиться непосредственно, используя ключевые слова 'true' или 'false', или косвенно посредством Булева выражения. Булево выражение представляет собой любую последовательность запросов, результат которых выражается в булевой (логической) форме, то есть в форме объектов 'true' или 'false'. If (выражение) Then... Else... If (выражение) Then... Else... While выражение... End. While выражение... End. Булев класс включает запросы, которые позволяют создавать сложные Булевы (логические) выражения: and, or, xor и not. Булев класс включает запросы, которые позволяют создавать сложные Булевы (логические) выражения: and, or, xor и not. © Харитонов А. Ю.
9 9 Списки (Lists) List - это способ упорядоченного объединения однородных объектов. Элементом списка может быть любой объект, и список может содержать объекты многих типов. Индекс списка начинается с 0, и первый элемент имеет индекс 0, а последний элемент списка - индекс равный числу элементов - 1 List - это способ упорядоченного объединения однородных объектов. Элементом списка может быть любой объект, и список может содержать объекты многих типов. Индекс списка начинается с 0, и первый элемент имеет индекс 0, а последний элемент списка - индекс равный числу элементов - 1 myList = { "Red", 201, myView, anotherList } myList = { "Red", 201, myView, anotherList } OR OR myList = List.Make myList = List.Make myList.Add( "Red" ) myList.Add( "Red" ) myList.Add( 201 ) myList.Add( 201 ) myList.Add( myView ) myList.Add( myView ) myList.Add( anotherList ) myList.Add( anotherList ) today = Date.Now today = Date.Now myList.Insert( today ) в начало списка. myList.Insert( today ) в начало списка. Результат: { today, "red", 201, myView, anotherList } Результат: { today, "red", 201, myView, anotherList } Запрос Set замещает заданный элемент новым значением. myList.Set( 1, "Blue") Запрос Set замещает заданный элемент новым значением. myList.Set( 1, "Blue") В данном примере объект Red заменяется объектом Blue. Список сейчас будет содержать следующие элементы: { today, "Blue", 201, myView, anotherList } В данном примере объект Red заменяется объектом Blue. Список сейчас будет содержать следующие элементы: { today, "Blue", 201, myView, anotherList } Чтобы получить элемент из списка, используйте запрос Get. anElement = myList.Get( 1 ) Чтобы получить элемент из списка, используйте запрос Get. anElement = myList.Get( 1 ) © Харитонов А. Ю.
10 10 Словари (Dictionaries) -это набор пар ключ - значение. Ключ - это любой объект, который идентифицирует свое значение. В словаре ключи являются уникальными. В качестве значения может выступать любой объект. -это набор пар ключ - значение. Ключ - это любой объект, который идентифицирует свое значение. В словаре ключи являются уникальными. В качестве значения может выступать любой объект. Словари хэшируются для обеспечения эффективного доступа. Размер, задаваемый в запросе Make, является приблизительным размером для словаря, позволяющим создать хэш-таблицу. Словарь может увеличиться до размера, в 20 раз превышающего заданный, без отрицательного влияния на производительность. Словари хэшируются для обеспечения эффективного доступа. Размер, задаваемый в запросе Make, является приблизительным размером для словаря, позволяющим создать хэш-таблицу. Словарь может увеличиться до размера, в 20 раз превышающего заданный, без отрицательного влияния на производительность. Создать: aDict = Dictionary.Make( 100 ) Создать: aDict = Dictionary.Make( 100 ) Добавить пару: aDict.Add( myKey, aValue ) Добавить пару: aDict.Add( myKey, aValue ) Найти значение, связанное с ключом: Найти значение, связанное с ключом: myValue = aDict.Get( myKey ) myValue = aDict.Get( myKey ) Удалить пару Ключ/Значение: aDict.Remove( myKey ) Удалить пару Ключ/Значение: aDict.Remove( myKey ) Получите список ключей в словаре: Получите список ключей в словаре: keyList = aDict.ReturnKeys keyList = aDict.ReturnKeys © Харитонов А. Ю.
11 11 Словари (Dictionaries) -это набор пар ключ - значение. Ключ - это любой объект, который идентифицирует свое значение. В словаре ключи являются уникальными. В качестве значения может выступать любой объект. -это набор пар ключ - значение. Ключ - это любой объект, который идентифицирует свое значение. В словаре ключи являются уникальными. В качестве значения может выступать любой объект. Словари хэшируются для обеспечения эффективного доступа. Размер, задаваемый в запросе Make, является приблизительным размером для словаря, позволяющим создать хэш-таблицу. Словарь может увеличиться до размера, в 20 раз превышающего заданный, без отрицательного влияния на производительность. Словари хэшируются для обеспечения эффективного доступа. Размер, задаваемый в запросе Make, является приблизительным размером для словаря, позволяющим создать хэш-таблицу. Словарь может увеличиться до размера, в 20 раз превышающего заданный, без отрицательного влияния на производительность. Создать: aDict = Dictionary.Make( 100 ) Создать: aDict = Dictionary.Make( 100 ) Добавить пару: aDict.Add( myKey, aValue ) Добавить пару: aDict.Add( myKey, aValue ) Найти значение, связанное с ключом: Найти значение, связанное с ключом: myValue = aDict.Get( myKey ) myValue = aDict.Get( myKey ) Удалить пару Ключ/Значение: aDict.Remove( myKey ) Удалить пару Ключ/Значение: aDict.Remove( myKey ) Получите список ключей в словаре: Получите список ключей в словаре: keyList = aDict.ReturnKeys keyList = aDict.ReturnKeys © Харитонов А. Ю.
12 12 Стеки (Stacks) - являются способом объединения элементов по принципу последний пришел, первым вышел (last-in-first-out, LIFO). Объекты в стеке сложены один поверх другого. - являются способом объединения элементов по принципу последний пришел, первым вышел (last-in-first-out, LIFO). Объекты в стеке сложены один поверх другого. Добавить элемент в верхнюю часть стека - Push: Добавить элемент в верхнюю часть стека - Push: myStack.Push( "50" ) myStack.Push( "50" ) Удалить элемент из верхней части стека - Pop: Удалить элемент из верхней части стека - Pop: top = myStack.Pop top = myStack.Pop Выяснить, сколько элементов находится в стеке – Depth: Выяснить, сколько элементов находится в стеке – Depth: howMany = myStack.Depth howMany = myStack.Depth Просмотреть объект, расположенный в глубине стека, - Peek, учитывая, что верхняя часть стека считается за 0, а его дно (или последний элемент) - за (Depth - 1): Просмотреть объект, расположенный в глубине стека, - Peek, учитывая, что верхняя часть стека считается за 0, а его дно (или последний элемент) - за (Depth - 1): third = myStack.Peek(2) third = myStack.Peek(2) Полностью очистить стек - Empty. Полностью очистить стек - Empty. © Харитонов А. Ю.
13 13 Оператор Continue Оператор Continue управляет переходом к следующей итерации цикла, в котором он встречается, с пропуском всех остальных операторов в этом цикле. Оператор Continue управляет переходом к следующей итерации цикла, в котором он встречается, с пропуском всех остальных операторов в этом цикле. theView = av.GetActiveDoc theView = av.GetActiveDoc for each t in theView.GetThemes for each t in theView.GetThemes for each f in t.GetFtab.GetFields for each f in t.GetFtab.GetFields if (f.IsTypeNumber) then if (f.IsTypeNumber) then continue continue end end f.SetVisible(true) f.SetVisible(true) end end t.GetFtab.Refresh t.GetFtab.Refresh End End В данном примере скрипт проверяет каждое поле каждой темы в Виде, делая все нечисловые поля скрытыми (невидимыми). Скрипт использует оператор Continue, чтобы перейти к следующему полю в списке полей, если текущее поле является числовым, тем самым пропуская запрос SetVisible. В данном примере скрипт проверяет каждое поле каждой темы в Виде, делая все нечисловые поля скрытыми (невидимыми). Скрипт использует оператор Continue, чтобы перейти к следующему полю в списке полей, если текущее поле является числовым, тем самым пропуская запрос SetVisible. © Харитонов А. Ю.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.