sonyps4.ru

Создание переменных JavaScript. Создание переменных в PHP

Хотите быстро открывать любые нужные Вам папки, запускать Командную строку из любой директории или создавать автоматические сценарии для перемещения файлов? Тогда Вам просто необходимо знать, что такое переменные среды!

Сегодняшняя статья, думаю, будет интересна, в первую очередь, продвинутым пользователям Windows. Хотя, в принципе, знать о предмете разговора не помешает никому. Речь идёт о такой сущности операционной системы как переменные средЫ (ударение на последнем слоге).

Исполняемой средой в Windows является оболочка (CMD.EXE). Соответственно переменные эти будут работать в первую очередь в консоли. Однако, поскольку Командная строка поддерживается на уровне системы всеми штатными средствами Windows, переменные окружения будут также отлично работать, например, в Проводнике , в Планировщике заданий или в любых BAT-файлах . Это даёт широкий простор для их применения в сфере автоматизации рутинных процессов при работе с файлами.

Общие данные о переменных окружения

Переменные среды чаще всего разделяют на системные и локальные. Системные могут, в свою очередь, быть встроенными в Windows изначально (имеют наивысший приоритет) или добавлены различными установленными программами. Такие переменные доступны из любой учётной записи и хранятся в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.

Локальные переменные среды тоже могут создаваться программно, однако, часто их создают сами пользователи вручную. Такие переменные доступны только в рамках активной в данный момент учётной записи пользователя, а в реестре хранятся в ветках HKEY_CURRENT_USER\Environment и HKEY_CURRENT_USER\Volatile Environment.

Физически переменная окружения являет собой строковый или мультистроковый параметр реестра. Имя его одновременно является именем переменной, а значение, соответственно, её содержимым. В качестве содержимого может выступать любая текстовая информация, команды, пути к папкам или даже ссылки на другие переменные. В последнем случае имя переменной, на которую ссылаются, обрамляется с двух сторон символами "%":

Кстати, вышеупомянутый способ обрамления имени переменной среды знаками процента используется для вызова её значения в окружении Windows. Например, если в Командной строке Вы хотите вывести текущую дату, Вы можете воспользоваться командой ECHO и переменной DATE в формате: "echo %date%" (без кавычек). Значения переменных можно произвольно комбинировать с любым текстом или значениями других переменных, при условии, что Вы их имена тоже заключите в конструкцию "%...%":

Думаю, общее представление о том, что такое переменные среды у Вас уже есть, поэтому давайте углубимся в их изучение и рассмотрим более подробно.

Переменные среды Windows

Смотреть существующие переменные среды, как мы уже выяснили, можно в реестре. Однако, это не совсем удобно, поскольку они раскиданы по нескольким веткам. Гораздо проще ознакомиться с полным списком доступных переменных окружения через Командную строку. Для этого вызовите её (WIN+R - cmd - Enter) и введите команду SET без каких-либо дополнительных параметров:

Стоит сказать, что список здесь немного неполный, поскольку не содержит ряда встроенных системных переменных, вроде DATE, TIME, RANDOM и т.п. Начнём, пожалуй, с них.

Системные переменные среды

Переменная Типичное значение Назначение
APPDATA C:\Documents and Settings\%UserName%\Application Data или C:\Users\%UserName%\AppData\Roaming (Windows 7 и выше)
CMDEXTVERSION число Выдаёт версию расширений обработчика команд (Command Processor Extensions).
COMMONPROGRAMFILES Обычно: %ProgramFiles%\Common Files Хранит путь к каталогу Common Files.
COMMONPROGRAMFILES(x86) Обычно: %ProgramFiles(x86)%\Common Files Хранит путь к 32-битной версии каталога Common Files в 64-битных системах.
COMPUTERNAME Текст Хранит имя Вашего компьютера, используемое для идентификации в сетях.
COMSPEC C:\Windows\system32\cmd.exe Содержит путь к файлу запуска Командной строки. При вводе переменной в адресной строке Проводника запускает консоль из текущей папки.
DATE Текущая дата Выдаёт полную текущую дату в формате, заданном в настройках Даты и времени.
ERRORLEVEL Число или 0 Хранит числовой код ошибки произошедшей в последней использованной команде. При отсутствии ошибок выдаёт 0.
HOMEDRIVE C:, D:, E: или иные буквы Выдаёт букву диска, на котором хранится профиль пользователя.
HOMEPATH Обычно: \Users\%USERNAME%
HOMESHARE Путь, если есть Если задана, хранит путь до общей папки в каталоге с профилем пользователя.
LOCALAPPDATA Обычно: C:\Users\%UserName%\AppData\Local Хранит путь до папки с локальными данными установленных программ.
NUMBER_OF_PROCESSORS Число Отображает количество ядер процессора в системе.
OS Текст Отображает название архитектуры Вашей версии Windows (чаще всего Windows_NT для систем старше Windows 2000).
PATH Ряд путей Хранит (через точку с запятой) список путей к различным папкам с исполняемыми файлами системных и прочих приложений.
PATHEXT Расширения файлов (.COM; .EXE; .BAT и т.д.) Хранит (через точку с запятой) список расширений файлов, которые воспринимаются системой как исполняемые.
PROCESSOR_ARCHITECTURE Текст Выдаёт код архитектуры процессора, установленного в системе (например, AMD64).
PROCESSOR_IDENTIFIER Текст Выдаёт код архитектуры процессора, а также ряд дополнительных сведений о нём (модельный ряд, версия модели и т.п.).
PROCESSOR_LEVEL Число Выдаёт код уровня архитектуры процессора (модельный ряд).
PROCESSOR_REVISION Число Выдаёт номер ревизии процессора.
PROGRAMDATA Обычно: C:\ProgramData\ Хранит путь до каталога с данными установленных программ.
PROGRAMFILES Обычно: C:\Program Files\ Хранит путь до каталога установки программ по умолчанию.
PROGRAMFILES(x86) Обычно: C:\Program Files (x86)\ Хранит путь до каталога установки 32-битных программ в 64-битной Windows по умолчанию.
PUBLIC Обычно: C:\Users\Public\ Хранит путь до общего каталога системы (папка "Общие").
RANDOM Число от 0 до 32767 Выдаёт случайное число от 0 до 32767.
SAFEBOOT_OPTION Текст Существует только в режиме Безопасной загрузки и хранит код текущего режима работы (например, в режиме загрузки "с поддержкой командной строки" - Minimal или "с поддержкой сетевых драйверов" - Network).
SYSTEMDRIVE C:, D:, E: или иные буквы Хранит букву диска, на котором установлена система (обычно совпадает с %HOMEDRIVE%).
TEMP и TMP Обычно: C:\Users\%USERNAME%\AppData\Local\Temp\ Хранит путь к временной папке пользователя. Переменная является одновременно и системной и пользовательской для обеспечения доступа к папкам из-под других учётных записей.
TIME Текущее время Выдаёт текущее время в формате: часы:минуты:секунды.миллисекунды.
WINDIR Обычно: C:\Windows\ Хранит путь до системного каталога Windows.

Локальные переменные среды

Если системные переменные окружения доступны всегда по всей системе, то локальные работают только в рамках конкретной учётной записи пользователя. Их количество может быть значительным, а состав отличаться даже для разных пользователей одного и того же ПК. Однако, есть ряд переменных, которые обычно присутствуют везде.

Переменная Типичное значение Назначение
ALLUSERSPROFILE Обычно: C:\All Users (до Windows XP) или C:\Program Data (Windows 7 и выше) Хранит путь к папке с данными установленных программ.
CD Путь Хранит путь к текущей активной директории, в которой исполняются команды.
CLIENTNAME Текст (если существует) Если задана, хранит имя компьютера, заданное в настройках текущего пользователя.
CMDCMDLINE Текст Выдаёт полную команду (с параметрами), которая была использована для последнего запуска Командной строки.
LOGONSERVER Текст Хранит имя контроллера домена текущего пользователя.
PROMPT Обычно: $P$G Выдаёт параметры командной строки для текущего интерпретатора.
SESSIONNAME Обычно: Console Выдаёт название типа текущей сессии Командной строки. При запуске с локального ПК имеет значение "Console". При удалённом вызове - "RDP-Tcp#<номер сеанса>".
USERDOMAIN Текст Хранит имя домена (компьютера), в котором работает пользователь.
USERNAME Текст Хранит имя учётной записи активного пользователя.
USERPROFILE Обычно: C:\Users\%USERNAME% Выдаёт путь до каталога с профилем пользователя.

Создание и правка переменных среды

Как видим, переменных окружения уже изначально существует довольно много. Однако, это не значит, что Вы будете их использовать все и должны помнить наизусть. Более того, на практике Вам может недоставать каких-нибудь значений и Вы, возможно, захотите создать собственные переменные окружения. Благо, что в Windows для этого есть, как минимум, три штатных способа!

Создание переменных среды в Редакторе реестра

Как мы уже говорили, переменные среды хранятся в реестре Windows. Соответственно, там же мы их можем создавать и править. Это не самый правильный способ, но, тем не менее, такая возможность есть.

Чтобы создать, к примеру, локальную переменную окружения откройте Редактор реестра (WIN+R - regedit - Enter) и в ветке HKEY_CURRENT_USER\Environment создайте новый параметр расширяемого строкового, строкового или мультистрокового типа с нужным именем и значением. К примеру, создадим переменную MYNAME со значением "Руслан":

Чтобы переменная стала доступна в системе нужно либо перезагрузить Windows, либо только сам Проводник. Последнее можно довольно просто сделать при помощи Диспетчера задач (CTRL+SHIFT+ESC). Достаточно только найти процесс "Проводник" (или explorer.exe) и перезапустить его (либо, в более ранних версиях Windows, снять задачу и создать её заново):

После перезапуска оболочки Windows добавленная переменная будет доступна во всех системных компонентах. Проверить же доступность можно, как всегда, в Командной строке через команду ECHO (echo %myname%).

Создание переменных среды в Командной строке

Если Вы уже привыкли к работе в консоли Windows, то создавать переменные среды Вы сможете и прямо в ней. Для создания и правки переменных в Командной строке используется уже знакомая нам команда SET. Только, если для вывода списка переменных мы использовали её без каких-либо параметров, то теперь нам потребуется дополнить команду именем переменной и её значением. Например, создать переменную MYSURNAME со значением "Тертышный" можно так: SET MYSURNAME=Тертышный :

Проверить доступность переменной можно не только уже знакомой командой ECHO но и при помощи всё той же SET с указанием имени переменной: SET MYSURNAME . Если же Вы к предыдущей команде припишите знак "=", то получившаяся функция удалит переменную окружения с указанным именем, например: SET MYSURNAME= (удалит переменную MYSURNAME).

При создании переменной окружения прямо в реестре она там отображалась, но для доступа к ней требовался перезапуск среды. При создании же в консоли перезапуск не нужен. Новая переменная становится доступной сразу после объявления. Правда, она нигде не сохраняется на постоянной основе и использовать её можно только в текущем сеансе Командной строки.

Чтобы сохранить такую переменную в реестр Вам потребуется выполнить манипуляции с командой REG. Например, для сохранения переменной в виде локальной команда будет следующей: REG ADD HKCU\Environment /v MYSURNAME /t REG_EXPAND_SZ /d Тертышный или REG ADD HKCU\Environment /v MYSURNAME /t REG_EXPAND_SZ /d %MYSURNAME% :

Создание переменных среды через Свойства системы

Наиболее безопасным и удобным для простого пользователя, на мой взгляд, является работа с переменными среды через одноимённую оснастку. Чтобы получить к ней доступ вызовите "Свойства системы" (контекстное меню значка "Компьютер" - "Свойства"), перейдите на вкладку "Дополнительно" и нажмите кнопку "Переменные среды" в самом низу:

В открывшемся окне можно управлять некоторыми уже существующими системными и локальными переменными окружения, а также создавать новые. В принципе, здесь ничего сложного нет - всё весьма наглядно. Для создания новой переменной достаточно заполнить всего два поля с её именем и значением. Как и в случае с добавлением переменной через реестр, здесь также требуется перезапуск среды для полноценной работы.

Примеры использования переменных среды

Наконец-то мы разобрались (надеюсь:)) с принципами создания и изменения переменных среды и сейчас рассмотрим несколько практических примеров их применения. Скажу сразу, что применений Вы можете придумать сами большое множество. А, если Вы понимаете синтаксис BAT-файлов, то возможности перед Вами откроются весьма обширные.

Одной из самых полезных системных переменных окружения, на мой взгляд, является %COMSPEC% . Если взглянуть на её значение, то мы увидим, что она запускает Командную строку. Однако, если Вы введёте данную переменную в адресной строке открытой в данный момент папки, то консоль автоматически откроется из этой директории. Такой "фокус" очень удобен, если Вы работаете с консольными приложениями и не хотите каждый раз вводить вручную адрес папки с исполняемыми файлами:

Часто при работе с консолью требуется получить путь или имя рабочей папки. Чтобы не вводить его, опять же, вручную, намного удобнее воспользоваться системной переменной среды %CD% . Данная переменная, как мы знаем, хранит путь активной в данный момент директории.

Переменные, хранящие в своём значении пути, довольно удобно использовать для быстрого перехода к нужным папкам в том же Проводнике. Например, чтобы открыть директорию временных файлов пользователя достаточно ввести в адресную строку %TMP% , а для доступа к папке Windows - %WINDIR% и нажать Enter. Здесь можете создать и свои переменные, например, %DWNLD% для открытия папки загрузок, %DSK% для Рабочего стола и т.п.

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

Первая команда удалит каталог временных файлов со всеми подпапками, не спрашивая Вашего подтверждения. Вторая же заново создаст его. Стоит, однако, заметить, что, если Вы запустите такой "батник" во время работы системы, то папка TEMP полностью может и не удалиться, поскольку в ней могут находится ресурсы, используемые активными программами. В принципе, это не смертельно, но консоль выдаст ошибки.

Если же хотите чтобы всё прошло безупречно, лучше запускать очистку при старте Windows, закинув BAT-файл в (путь обычно: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup). Таким образом очистка будет происходить автоматом при каждом запуске системы и не будет стопориться активными процессами, поскольку они ещё не запущены.

В ряде случаев полезной бывает и переменная %RANDOM% . По умолчанию она генерирует случайное число от 0 до 32767. Однако, диапазон можно ограничить приписав после переменной конструкцию " %% число", где "число" - максимальная нужная величина диапазона. Например, получить число от 0 до 10 можно так: "ECHO %RANDOM% %% 11" (в диапазоне всего 11 чисел, включая 0). Немного "заморочившись" можно даже написать простенькую игру "Угадай число" в виде следующего BAT-файла:

SET /a GUESS=%RANDOM% %% 101

SET /p "try=Ваше число: "

if "%try%"=="" goto begin

if %try% LSS %GUESS% (echo Загаданное число больше.& goto begin)

if %try% GTR %GUESS% (echo Загаданное число меньше.& goto begin)

if %try%==%GUESS% echo Вы угадали!& pause

Вышеприведённый код реализует игру на угадывание числа от 0 до 100, которое получается как раз из системной переменной окружения %RANDOM%. Для нормального отображения кириллицы набор команд нужно сохранить в виде BAT-файла с кодировкой OEM 866 или DOS (в разных Блокнотах она обозначена по-разному). Быстро запустить его на выполнение можно из любой папки при помощи вышеупомянутого способа с использованием переменной %COMSPEC% и ввода имени BAT-файла:

Выводы

Несмотря не то, что переменные среды в большинстве случаев используют лишь системные администраторы и программисты, они могут здорово пригодиться и простым пользователям! Зная всего несколько из них и умея создавать собственные, Вы без особых проблем сможете, как минимум, получать быстрый доступ к любым нужным папкам.

Если же Ваш интерес будет большим, нежели просто попробовать, что это такое, то Вы можете пойти дальше и писать уже собственные пакетные файлы, автоматизирующие процессы удаления, перемещения и создания файлов с нужными Вам данными. И, пускай Командная строка не так функциональна как, скажем, консоль Linux bash, в умелых руках она может творить буквально чудеса! Не верите? Попробуйте сами!

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

В ActionScript, равно как и в таких языках, как Pascal или JavaScript, объявить переменную можно, используя ключевое слово var:

Var new_obj; // Создана новая переменная...

Присваивая переменной имя, нужно соблюдать правила задания идентификаторов. Особенно важно помнить, что в ActionScript появилась полная чувствительность к регистру, а также, что имя не может начинаться с цифры и совпадать с лексемами из словаря языка. Переменной при создании автоматически присваивается значение undefined:

Trace(new_obj); // Выводит: undefined

Впрочем, переменные редко объявляются пустыми. Обычно им сразу же ставится в соответствие некоторое конкретное значение (на худой конец - null). Делается это при помощи оператора присваивания «-», который мы использовали уже десятки раз:

Var new_obj=null; // Если переменная изначально не имеет значения,
// то ей нужно присвоить null

Одновременно можно объявить и несколько переменных, для чего нужно использовать оператор «,»:

Var а=1, b=2, с=3; // Строка эквивалентна var a=1; var b=2; var c=3;

Если переменная будет хранить объекты данных только одного типа, ее стоит типизировать.

Как это делается:

Var number:Number=0;

Во Flash 4, до появления современного ActionScript, для объявления и переопределения переменных использовалось предложение set(name, expression), где name - Имя, expression - присваиваемое выражение. Например:

Set(a, null); // Эквивалентно a=null;

В настоящее время функции предложения set() сузились до создания переменных с динамическими именами:

Var i:Number = Math.round(Math.random()"10); // Генерируем случайное
// число от 0 до 10
set("var"+i,"новая переменная"); // Создаем переменную со случайным именем
trace(eval("var" + i)); // Выводит: "новая переменная"

Надо признать, что в современных версиях Flash предложение set() используется достаточно редко, что связано с тем, что у него имеется куда более мощный конкурент - массивы (а точнее, оператор доступа к свойствам «()», который часто называют оператором доступа к элементам массива - отчасти из-за схожести с литералом массива «»). Однако если массивы не применяются, то set() просто незаменима (и таковой она была во Flash 4), так как невозможно присвоить значение переменной, переведя строку в идентификатор при помощи eval():

Eval("variable")=3; // Эта строка вызывает ошибку
set("variable",3); // Верное выражение

Чтобы создать переменную с динамически формируемым именем более технично, чем с использованием предложения set, нужно применить следующую запись:

This["name"]=value,

Где this - указатель на текущую временную диаграмму (ее свойствами являются все переменные размещенного на ней кода); "name" - имя переменной; value - объект данных, который должна хранить переменная.

Например:

This ["variable"] = "Привет";
trace(variable); // Выводит: Привет

Переменные, которые создаются при помощи предложения set или оператора «», не могут быть типизированы. Впрочем, при этом правильнее говорить о создании свойства временной диаграммы, содержащей код, чем о переменной.

Хорошим тоном в ActionScript-программировании является объявление всех переменных сценария в одном месте - в выделенной комментариями области вверху листа с кодом. Такой подход помогает избежать повторения идентификаторов в больших программах, а также делает сценарий более читабельным и понятным для сторонних лиц. Весьма оправданно объявлять вместе с основными переменными и переменные служебные - для хранения промежуточных результатов или флагов состояния.

//*******Переменные*********************************
var speed:Number=10; // Скорость объекта
var size:Number=100; // Размер объекта в пикселях
var crash:Number=null; // Расстояние по дубликата
//**************************************************

Имеется и более существенная причина, по которой все переменные должны объявляться в начале сценария.

Чтобы понять ее, проанализируйте следующий код:

Function func():Void { // Функция, вызывающая прописанные позже нее
// переменную и функцию
trace(per);
func2();
}
func (); // Выводит: undefined Привет!!!
var per:String = "Пока";
function func2():Void {
trace("Привет!!!");
}

Дело в том, что вызов функции может предшествовать ее определению. А вот прочитать значение переменной выше строки ее задания невозможно. Такая двойственность очень часто приводит к путанице и ошибкам. Например, если вы из функции А() вызываете функцию В(), которая использует переменную per, объявленную между ними, то активация А() выше определения per приведет к неопределенности:

Function A():Void {
В();
}
А(); // Выводит: undefined
var par:String = "Привет";
А(); // Выводит: Привет (вызов расположен ниже определения переменной)
function B():Void {
trace(par);
}

ActionScript не является строгим языком в отношении объявления переменных. Так, если вы попытаетесь присвоить некоторое значение несуществующей переменной, то интерпретатор, проверив соответствующую цепочку областей видимости, просто автоматически создаст ее:

My_var = null; // Результат выполнения такой записи в большинстве
// случаев аналогичен var my_var=null;

Автоматическое создание переменных не является общепринятой нормой: в большинстве универсальных языков программирования появление неизвестного идентификатора вызывает ошибку. В ActionScript же использование var не обязательно, J но является рекомендованным. И на то имеются веские причины:

Явное определение переменных позволяет сделать сценарий более четким, облегчая тем самымего отладку и переделку.

Создавая переменную с использованием var, вы гарантируете, что при этом не произойдет простого переопределения одноименной ей переменной, принадлежащей к вышележащей области видимости (это важно в случае локальных переменных функций).

Ключевое слово var позволяет строго типизировать переменные. Если попытаться задать тип переменной без var, то произойдет сбой при компиляции.

Если Вы изучаете PHP , то, надеюсь, что смысл и назначение переменных в языках программирования понимаете. Поэтому не буду объяснять всё это, и сразу приступим к созданию переменных в PHP .

Давайте сразу создадим переменную и выведем её:

$x = 15;
echo $x;
?>

Здесь мы объявляем переменную x , которой присваиваем значение 15 . Затем мы выводим её. Обратите внимание, что переменная всегда предворяется знаком $ .

Теперь создадим ещё одну переменную:

$str = "some string";
echo $str;
?>

Тут мы создаём переменную str и присваиваем её строчное значение "some string ". Как видите, строки в PHP ставятся в кавычках, впрочем, как и в большинстве языков программирования.

Теперь поговорим о типах переменных. Точно так же как и в JavaScript , тип переменной определяется самим языком. То есть интерпретатор PHP , в зависимости от значения, подбирает тип. Существует несколько типов переменных в PHP :

1) Integer - целый тип данных.

2) Double - вещественный тип с двойной точностью.

3) Float - вещественный тип данных с одинарной точностью.

4) String - строковый тип.

5) Boolean - булевский тип данных (только два значения: true или false ).

5) Array - массив

6) Resource - некий ресурс.

7) Object - объектный тип.

С последними тремя типами данных в PHP мы познакомимся попозже. А вот разницу между float и double давайте обсудим. Не очень понимаю, почему возникает такое количество вопросов по этому моменту. Видно, очень непонятно пишут авторы многих учебных пособий. Поэтому, чтобы исправить эту ошибку, постараюсь объяснить максимально простым языком. Разница между float и double только в диапазоне значений. Double - это тот же float , только диапазон значений гораздо больше, но и памяти он отнимает в 2 раза больше (8 байт , если мне память не изменяет, а float только 4 байта ).

Давайте теперь поработаем с переменными в PHP . Для этого напишем такой код:

$x = 5;
$y = -4.5;
$summa = $x + $y;
echo $summa;
?>

Здесь мы объявили две переменных в PHP , присвоили им значения, посчитали их сумму, а потом вывели результат.

Думаю, в этой статье достаточно знаний для начала. В следующей статье мы разберём оператор условия IF , а также узнаем об одной очень важной функции - isset() .

Переменные T-FLEX CAD – вспомогательные элементы системы, позволяющие задавать различные виды негеометрических взаимосвязей между элементами чертежа.

Например, переменные можно указывать в качестве параметров линий построения. В этом случае значение параметра линии построения будет определяться значением переменной. Если значение переменной меняется, то автоматически будет меняться и значение связанного с ним параметра линии построения (например, радиус окружности или положение прямой). С помощью переменных можно задавать цвет и видимость элементов чертежа, параметры штриховок, содержимое текстов, различные параметры и т.п. Переменные можно использовать и при создании 3D модели.

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

Создание переменных

В системе T-FLEX CAD переменные можно создавать разными способами:

с помощью редактора переменных ;

при задании и редактировании параметров линий построения, а также других элементов чертежа или 3D модели;

в текстовом редакторе ;

при задании текстовых строк в параметрах некоторых элементов;

при задании значений практически всех вещественных параметров элементов (уровней, приоритетов и т.д.).

Основным инструментом для работы с переменными является редактор переменных . С его помощью можно выполнять все действия над ними.

Более подробно о создании переменных можно прочитать в отдельных разделах:

Характеристики переменных

Прежде чем перейти к описанию непосредственно редактора переменных и работы в нём, рассмотрим основные характеристики любой переменной T-FLEX CAD.

При создании любой переменной T-FLEX CAD необходимо указать:

● уникальное имя данной переменной, позволяющее однозначно идентифицировать её в документе, а также определяющее тип данной переменной (текстовая она или вещественная );

● выражение , по которому система будет вычислять текущее значение переменной.

Кроме того, существует ещё ряд дополнительных характеристик переменных, которые задаются при необходимости. Некоторые из них позволяют придавать переменным дополнительные свойства (например, признак внешней переменной ). Другие используются исключительно для упрощения работы с большим количеством переменных в документе (комментарий переменной, группа переменной).

Правила задания имён переменных

Стандартные математические функции

Специальные функции T-FLEX CAD

Функции работы с внутренней базой данных

Функция работы с внешней базой данных

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

При задании выражения для переменной следует учитывать тип переменной. Вещественнее переменные могут принимать только числовые значения (12; 125; -234; 781.234; 3.834e+6), текстовые – только символьные (“Текст”; “Строка”; “Имя”).

Выражение может представлять собой просто константу (числовую или символьную в зависимости от типа переменной).

Переменные-функции

Помимо различных математических и специальных функций, предопределённых в системе, при составлении выражений для переменных можно описывать и использовать собственные функции пользователя. Например, если в выражениях при описании переменных используется много однотипных, громоздких выражений, отличающихся только отдельными аргументами, можно описать собственную функцию, обращение к которой заменит выражения. Пользовательские функции задаются с помощью переменных особого вида – переменных-функций .

Переменная-функция представляет собой описание пользовательской функции. Выражение для неё составляется по тем же правилам, что и для обычной переменной. Вхождение аргументов функции в выражение обозначается следующим образом (количество аргументов не ограничено):

#1 – первый аргумент,

#2 – второй аргумент и т.д.

Описанную таким образом функцию можно использовать в редакторе переменных при задании значения других переменных. При вызове функции в качестве аргументов ставятся имена переменных или численные значения. Количество фактических аргументов должно быть равно или больше количества формальных аргументов.

Например, если переменная-функция была определена следующим образом:

FUNC=(#1+#2)*10,

то обращение FUNC (L, 20, 30) не будет являться ошибочным.

В списке переменных текущего документа к имени переменной-функции автоматически добавляются пустые скобки “()” .

Список значений переменной

Для любой переменной T-FLEX CAD можно задать список значений. Точнее – список выражений, т.к. список переменной может содержать любые значения, не обязательно константы. Даже для переменной-функции можно задать список из различных выражений. После этого значение любой переменной, а точнее, выражение, определяющее это значение, можно выбирать из созданного списка.

Список создаётся в виде набора строк, содержащих требуемые константы или выражения. Кроме того, список может быть создан на основе уже существующего файла, внутренней базы данных, списка материалов (в 3D версии) или календаря (последние два варианта возможны только для текстовых переменных).

Список, заданный для переменной, будет появляться во всех местах задания значения данной переменной (в редакторе переменных, в команде “М: Редактировать параметры модели ”, при задании переменных фрагмента). Поле ввода значения такой переменной будет содержать графическую кнопку , позволяющую вызвать список значений. Для доступа к списку значений достаточно указать курсором мыши на кнопку и нажать . В результате на экране появится список, в котором можно выбрать новое значение (выражение).

Создать переменную в программе можно несколькими способами: с помощью оператора присвоения значений в формате:

имя_переменной = значение;

myName = "Иван";

С помощью ключевого слова var (от variable - переменная) в формате:

Var имя_переменной;

В этом случае созданная переменная не имеет никакого значения, но может его получить в дальнейшем с помощью оператора присвоения.

С помощью ключевого слова var и оператора присвоения в формате:

var имя_переменной = значение;

var myName = "Иван";

Строка кода программы с ключевым словом var задает так называемую инициализацию переменной и для каждой переменной используется один раз.

Типизация переменных

Самое важное различие между JavaScript и такими языками, как Java и C, состоит в том, что JavaScript – это нетипизированный (untyped) язык. В частности, это значит, что JavaScript-переменная может содержать значение любого типа, в отличие от Java- или C-переменной, в которой может содержаться только определенный тип данных, заданный при ее объявлении. Так, в JavaScript можно присвоить переменной число, а затем присвоить той же переменной строку:

i = "десять";

В отличие от многих других языков программирования, при инициализации переменной не нужно описывать ее тип. Переменная может иметь значения различных типов и неоднократно их изменять.

var x = "Иван“;

х = "Анна";

х = 2.5;

Одно ключевое слово var можно использовать для инициализации сразу нескольких переменных, как с оператором присвоения, так и без него. При этом переменные и выражения с операторами присвоения разделяются запятыми, например:

var name = " Вася ", address, x = 3.14

Если начальное значение не задано в инструкции var , то переменная объявляется, но ее начальное значение остается неопределенным (undefined ), пока не будет изменено программой.

Обратите внимание, что инструкция var также может включаться в циклы for и for/i n (о которых рассказывается ниже), что позволяет объявлять переменную цикла непосредственно в самом цикле. Например:

for(var i = 0; i < 10; i++) document.write(i, "
");

for(var i = 0, j = 10; i < 10; i++, j__) document.write(i*j, "
");

for(var i in o) document.write(i, "
");

Переменные, объявленные с помощью инструкции var , называются долговременными (permanent ): попытка удалить их с помощью оператора delete приведет к ошибке.

С помощью инструкции var можно объявить одну и ту же переменную несколько раз. Если повторное объявление содержит инициализатор, то оно действует как обычная инструкция присваивания.

Если попытаться прочитать значение необъявленной переменной, JavaScript сгенерирует сообщение об ошибке. Если присвоить значение переменной, необъявленной с помощью инструкции var , JavaScript неявно объявит эту переменную за вас. Однако переменные, объявленные таким образом, всегда создаются как глобальные, даже если они работают только в теле функции.

Чтобы не создавать глобальную переменную (или не использовать существующую), когда достаточно локальной переменной для отдельной функции, всегда помещайте инструкцию var в тело функции. Лучше всего объявлять с ключевым словом var все переменные – и глобальные, и локальные.



Загрузка...