Что значит скриптовый язык программирования

Скриптовый язык

В прикладной программе, сценарий (скрипт) — это программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы.

Содержание

Плагины или скрипты?

Для написания пользовательских расширений могут использоваться как скрипты (в терминологии некоторых программ «макросы»), так и плагины (независимые модули, написанные на компилируемых языках; в некоторых программах они могут называться «утилитами», «экспортёрами», «драйверами»).

Скриптовый язык удобен в следующих случаях:

У плагинов же есть три важных преимущества.

Также в плане быстродействия скриптовые языки можно разделить на языки динамического разбора (sh, command.com) и предварительно компилируемые (Perl). Языки динамического разбора считывают инструкции из файла программы минимально требующимися блоками, и исполняют эти блоки, не читая дальнейший код. Предкомпилируемые языки транслируют всю программу в байт-код и затем исполняют его. Некоторые скриптовые языки имеют возможность компиляции программы «на лету» в машинный код (т. н. JIT-компиляция).

Типы скриптовых языков

Универсальные скриптовые языки

Встроенные в прикладные программы

Командные оболочки

Встраиваемые

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

Командные файлы интерпретаторов

Многие консольные утилиты поддерживают выполнение последовательности команд, заранее записанной в файл. Такие файлы тоже называют скриптами.

Примеры таких утилит:

Источник

Обзор скриптовых языков программирования

Понятие о скриптовых языках

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

Не исключено, что интерпретируемые или оперативно компилируемые языки все больше и больше будут заступать на смену предварительно компилируемым языкам. Компиляцию со временем будут рассматривать просто как инструмент оптимизации (чем она собственно и является), использование которого во всех случаях едва ли разумно. Она все еще будет полезна при отправке автономного кода за пределы среды, которой вы управляете, однако, компиляция все чаще будет рассматриваться просто как способ упаковки. С другой стороны, граница между компиляцией и интерпретацией, которая всегда была немного произвольна, будет размыта еще больше. У языка Perl уже есть фаза оперативной компиляции перед интерпретацией. Будущее будет за совместимостью платформ, так что компиляторы все чаще будут нацелены на абстрактные «виртуальные машины» (как JVM у Sun или CLR у Microsoft), которые наслаиваются на аппаратные средства. На каком этапе программирования вы компилируете или интерпретируете? И имеет ли это значение?

Динамические языки в качестве доминирующих языков реализации во многих областях могут со временем перегнать Java и С++. Закон Мура 3 на стороне динамических языков.

Статические языки во время компиляции пытаются поставить все точки над «i». Долгое время разработчики полагали, что безопасность типов статических языков означает большую надежность их кодов. Однако все чаще разработчики приходят к заключению, что дело не в этом. Конечно, теоретически возможно иметь в распоряжении переменную под названием «ИмяПользователя», но обнаружить во время исполнения, что она ссылается на объект класса «ЗаказНаПоставку». Однако на практике подобное все же маловероятно.

В чем же состоит привлекательность скриптовых языков?

Какие можно назвать недостатки скриптовых языков?

Ниже следует обзор некоторых наиболее популярных скриптовых языков.

VBScript

Visual Basic Scripting Edition (или просто VBScript) — это язык программирования от компании Microsoft, предназначенный для создания сценариев (скриптов). Он является подмножеством языка Visual Basic и широко используется при создании административных сценариев в системе Windows. VBScript по умолчанию поддерживается в Windows Script Host (WSH), который в свою очередь по умолчанию устанавливается вместе с почти любой версией Windows. Если у вас слишком старая версия Windows, вы можете скачать WSH с сайта Microsoft и самостоятельно установить его.

Синтаксис VBScript является несколько упрощенной версией стандартного синтаксиса Visual Basic. Например, в VBScript не поддерживается типизация: все переменные имеют тип Variant. Сценарии на языке VBScript чаще всего используются в следующих областях:

JScript

JScript — это язык программирования от компании Microsoft. Он предназначен для создания сценариев и является реализацией стандарта ECMAScript. Синтаксис JScript во многом аналогичен языку JavaScript от компании Netscape. JScript по умолчанию поддерживается в Windows Script Host (WSH), который в свою очередь по умолчанию устанавливается вместе с почти любой версией Windows. Если у вас слишком старая версия Windows, вы можете скачать WSH с сайта Microsoft и самостоятельно установить его.

Сценарии на языке JScript чаще всего используются в следующих областях:

Язык JScript получил дальнейшее развитие в виде языка JScript.NET, который ориентирован на работу в рамках платформы Microsoft ASP.NET.

JavaScript

В большинстве случаев при упоминании JavaScript подразумевается так называемый клиентский JavaScript, интерпретатор которого встроен в Web-браузеры. Однако JavaScript изначально был разработан как универсальный язык программирования для встраивания в любое приложение и обеспечения возможности написания в нем сценариев. Например, ActionScript, язык сценариев, доступный в Macromedia Flash 5 и MX, также смоделирован в соответствии со стандартом ECMAScript.

Python

Python (питон) — интерпретируемый, объектно-ориентированный язык программирования высокого уровня. Он поддерживает классы, модули (которые могут быть объединены в пакеты), обработку исключений, а также многонитевую обработку. Python относится к классу языков с динамической типизацией, предоставляет программисту автоматическую «сборку мусора» и удобные высокоуровневые структуры данных, такие как словари, списки, кортежи и др. Питон объединяет поразительную мощь с простым и ясным синтаксисом, продуманной модульностью и масштабируемостью. Одной из интересных синтаксических особенностей языка является выделение блоков программы с помощью отступов (пробелов или табуляций), поэтому в Python отсутствуют операторные скобки («begin/end», как в языке Паскаль или фигурные скобки, как в Си). Python — oдно из самых простых средств обучению и применению ООП. Часто является как первым (для обучения), так и последним (в череде используемых опытными программистами) языком программирования.

Python портируем и работает почти на всех известных платформах. Существуют порты под Windows, все варианты UNIX (включая Linux), Mac OS и Mac OS X, Palm OS, OS/2 и т.д. При этом, в отличие от многих портируемых систем, на каждой платформе Python поддерживает все характерные для данной платформы технологии (например, Microsoft COM/DCOM). Более того, существует специальная версия Python для виртуальной машины Java — Jython (http://www.jython.org/), что позволяет интерпретатору выполняться на любой системе, поддерживающей Java, при этом классы Java могут непосредственно использоваться из Python и даже быть написанными на Python.

Интерпретатор языка Python распространяется свободно на основании лицензии Python Software Foundation (PSF) Licence (http://python.org/psf/license.html), которая в некотором роде даже более демократична, чем GNU General Public License (http://gnu.org/copyleft/). Официальный сайт проекта языка Python располагается по адресу http://python.org/. Здесь же в разделе «Download» можно скачать свежую версию для вашей операционной системы. Русскоязычные сайты, посвященные Python: http://www.python.ru/, http://zope.net.ru/.

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

Для Python существуют библиотеки доступа к СУБД (на платформе Windows доступ к БД возможен через ADO). Существуют модули расширения для Python под Windows и Unix/Linux для доступа к Oracle, Sybase, Informix и MySQL. Существует также пакет mxODBC для доступа к СУБД через ODBC, также поддерживаемый на платформах Windows и Unix.

С Python поставляется библиотека tkinter для создания кроссплатформенных программ с графическим интерфейсом. Данная библиотека является фактически стандартом для GUI-приложений, написанных на Python. Многие люди при написании GUI программ пользуются также библиотекой wxPython, основанной на библиотеке wxWidgets. Также часто используются библиотеки PyQT (PyQt) и PyGTK.

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

Ruby — интерпретируемый скриптовый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Ruby имеет большое количество средств для обработки текстов, для решения системных задач. Ruby является полностью свободным языком программирования с возможностью копирования, модификации и распространения. Ruby перенесён на множество платформ. Он разрабатывался на Linux, но работает на многих версиях Unix, DOS, Windows 95/98/Me/NT/2000/XP, Mac OS, BeOS, OS/2, и т.д. Целью создания Ruby был настоящий объектно-ориентированный интерпретируемый язык программирования. Название отсылает к языку Perl, наследником которого является Ruby (драгоценные камни: англ. pearl — жемчужина, англ. ruby — рубин).

Ruby имеет простой и понятный синтаксис, позволяет обрабатывать исключения в стиле Java и Python, позволяет легко переопределять операторы, которые на самом деле являются методами. Ruby — полностью объектно-ориентированный язык программирования. Все данные в Ruby являются объектами в понимании SmallTalk. Например, число «1» — это экземпляр класса Fixnum. Также поддерживается добавление методов в класс и даже в конкретный экземпляр во время исполнения программы. Ruby сознательно не поддерживает множественное наследование, вместо которого существует концепция модулей. Ruby содержит автоматический сборщик мусора. Он работает для всех объектов Ruby, так что не надо заботиться о подсчёте ссылок даже во внешних библиотеках. Ruby не требует объявления переменных. Язык использует простые соглашения для обозначения области видимости. Пример: просто ‘var’ — локальная переменная, ‘@var’ — переменная экземляра (член или поле объекта класса), ‘$var’ — глобальная переменная. Ruby имеет независимую от ОС поддержку многопоточности.

Новости Ruby: http://rubynews.ru. Специализированный форум для программистов на языке Ruby: http://ruby-forum.ru/. Примеры конструкций языка: http://pleac.sourceforge.net/pleac_ruby/index.html.

PHP (пи-эйч-пи) — интерпретируемый скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В области веб-программирования PHP является на сегодняшний день одним из самых распространённых технологий (наряду с Perl, ASP/.NET и Python) благодаря простоте, скорости выполнения и богатой функциональности. PHP распространяется свободно. Синтаксис языка похож на синтаксис С++. PHP поддерживается подавляющим большинством предоставителей сетевого хостинга.

Название «PHP» представляет собой самоповторяющую (рекурсивную) аббревиатуру и расшифровывается как «PHP: Hypertext Preprocessor», или «Personal Home Page». PHP был создан в качестве надстройки над Perl для облегчения разработки веб-страниц. За свою жизнь PHP значительно изменялся. Одной из сильнейших сторон PHP является возможность расширения ядра. Интерфейс написания расширений привлек к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. PHP поддерживает ООП (деструкторы, открытые, закрытые и защищённые члены и методы, final-члены и методы, интерфейсы и клонирование объектов). PHP поддерживает XML.

Официальный сайт: http://php.net/. Русское руководство по PHP: http://ru.php.net/manual/ru/. Русскоязычный ресурс о PHP: http://www.phpclub.ru/.

Perl — интерпретируемый скриптовый язык программирования, один из самых распространённых в области веб-программирования. По одной из версий, Perl — аббревиатура, которая расшифровывается как «Practical Extraction and Report Language» (практический язык извлечений и отчётов). Существует также ряд других вариантов. Согласно самому красивому из них, название «perl» произошло от слова «pearl» (жемчужина).

Основной особенностью языка считаются его богатые возможности для работы с текстом, реализованные при помощи регулярных выражений (regular expressions). Перл также знаменит огромной коллекцией дополнительных модулей CPAN, находящейся по адресу http://www.cpan.org/.

Заключение

Кроме вышеперечисленных, существует множество несколько менее популярных скриптовых языков (но, возможно, не менее интересных), информацию о которых можно найти в Интернете. Вот некоторые из них: Parser (http://www.parser.ru/), JudoScript (http://www.judoscript.com/), HaskellScript (http://www.haskell.org/haskellscript/), LuaScript (http://www.luascript.thersgb.net/luascript/), NullScript (http://www.iwebthereforeiam.com/projects/NullScript.asp).

Источник

Скрипт

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

Для написания скриптов используются специальные языки программирования, которые так и называются – скриптовые. Соответственно, скриптовый язык программирования – это набор лексический, семантических и синтаксических правил для создания и редактирования скриптов. Корректно также синонимичное название «язык сценариев».

История развития скриптов

Рассмотрим для примера историю развития наиболее распространенного скриптового языка JavaScript. Именно с его помощью реализуются множество решений по взаимодействию пользователей с сайтами, программируются широкие возможности интерактивных страниц.

В 1995 году компания Netscape для своего популярного на тот момент браузера Netscape Navigator 2.0 предложила специальный язык под названием LiveScript. На то время возможности языка были очень скудными, и многие просто не понимали, что такое скрипт (script) в браузере. Тогда он мог проверять и обрабатывать те данные, которые пользователь оставлял на странице сайта через форму. Такая проверка давала возможность контролировать правильность введенных данных и избегать отправки формы без нужной информации. Вскоре название этого языка было изменено на JavaScript.

Через некоторое время известный конкурент Netscape – корпорация Microsoft – создал свою версию JavaScript. Несмотря на то что такой скриптовый язык программирования имел немного отличающиеся функции, он успешно прижился и получил собственное название JScript. Он начал использоваться в браузере Internet Explorer начиная с версии 3.0. Через некоторое время и другие браузеры стали поддерживать JavaScript.

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

Несмотря на жесткую конкуренцию, Microsoft и Netscape вместе с наиболее авторитетными разработчиками обеспечения для деятельности в Интернете трудились в организации W3C. В результате были подготовлены единые стандарты и рекомендации. Но все же языки JavaScript и JScript имеют определенные различия, что необходимо учитывать в работе.

Основные принципы скриптов

Интерпретатор языка JavaScript встроен во все популярные браузеры. Именно поэтому любой браузер понимает, что такое скрипт на этом языке. Эти коды успешно выполняются в тот момент, когда пользователь обращается к страницам сайта. Но такие же скрипты могут успешно работать и на сервере, если на нем установлен интерпретатор JavaScript. Сценарии могут выполняться как на стороне клиента, в браузере, так и непосредственно на сервере.

Скрипты имеют следующие цели:

Преимущества скриптов

Недостатки скриптов

Типы скриптов

По степени быстродействия они подразделяются на языки динамического разбора (sh, COMMAND.COM) и требующие предварительной компиляции, такие как Perl. Также скриптовые языки разбиваются на несколько больших групп по применению.

Примеры скриптовых языков

Наиболее известные: PHP, Perl, Python, AngelScript, JavaScript, JScript и другие. Все они являются высокоуровневыми. По своему механизму действия скриптовые языки обычно интерпретируются, а не компилируются.

Роль скриптов в продвижении

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

И таких решений множество.

Отдельно стоит отметить технологии создания скриптов, имитирующих с помощью специальных программ действия пользователей в различных направлениях. Такие скрипты и шаблоны формируются на основе программ ZennoPoster, Human Emulator и их аналогов.

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

В качестве примера можно рассмотреть шаблоны, позволяющие в автоматизированном режиме выполнять множество действий по продвижению сайтов и товаров в социальной сети «ВКонтакте». Другие шаблоны обеспечивают размещение объявлений или иной информации в Сети. Третьи в автоматизированном режиме могут генерировать множество блогов и страниц, на которых размещаются ссылки или коммерческая информация. Пользователи, которые видят результаты таких действий, обычно не знают, что это заскриптованный алгоритм размещает информацию для них в соцмедиа.

Во многих случаях для продвижения сайтов необходимо множество аккаунтов почты. В качестве примера можно рассмотреть почтовый сервис mail.ru. Автоматизированный шаблон для программы ZennoPoster легко справляется с этой задачей. При этом скрипт не просто заходит на страницу регистрации, но также самостоятельно выполняет работу по разгадыванию капчи, определяет возможный бан IP-адреса и выполняет много других действий.

Использование языка JavaScript в контекстной рекламе

Еще в 2012 году рекламная система Google AdWords внесла в свой интерфейс возможности использования скриптов для автоматизации управления рекламной кампанией. Такой способ управления работает значительно быстрее, чем использование API.

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

При этом можно в автоматизированном режиме отслеживать качество рекламных объявлений, отключать неэффективные каналы рекламы и подключать эффективные.

Источник

Что такое скрипты и с чем их едят — Lua & C++

Добрый день, Хабрахабр!
Решил написать этот топик на тему скриптов

Что значит скриптовый язык программирования

Что нужно знать?

Но есть способ, на голову выше — использование скриптов.

Решение проблемы

«Окей, для таких дел хватает обычного файла с описанием характеристиков игрока. Но что делать, если в бурно развивающемся проекте почти каждый день приходится немножко изменять логику главного игрока, и, следовательно, много раз компилировать проект?»
Хороший вопрос. В этом случае нам на помощь приходят скрипты, держащие именно логику игрока со всеми характеристиками либо какой-либо другой части игры.
Естественно, удобнее всего держать, логику игрока в виде кода какого-нибудь языка программирования.
Первая мысль — написать свой интерпретатор своего скриптового языка, выкидывается из мозга через несколько секунд. Логика игрока определенно не стоит таких жутких затрат.
К счастью, есть специальные библиотеки скриптовых языков для С++, которые принимают на вход текстовый файл и выполняют его.

Об одном таком скриптовом языке Lua пойдет речь.

Как это работает?

Прежде чем начать, важно понимать, как работает скриптовый язык. Дело в том, что в скриптовых языках есть очень мало функций, при наличии конструкций for, while, if, прочих.
В основном это функции вывода текста в консоль, математические функции и функции для работы с файлами.
Как же тогда можно управлять игроком через скрипты?

Мы в С++-программе делаем какие-либо функции, «регистрируем» их под каким-нибудь именем в скрипте и вызываем в скрипте. То есть если мы зарегистрировали функцию SetPos(x,y) для определения позиции игрока в С++-программе, то, встретив эту функцию в скрипте, «интерпретатор» из библиотеки скриптового языка вызывает эту функцию в С++-программе, естественно, с передачей всех методов.
Удивительно, да? 🙂

UPD: Внимание! Один юзер обратился мне с мейлом, что, когда я заливал код, я не полностью устранил все ошибки — habrahabr.ru/post/196272/#comment_6850016
В коде с позволения хабра проникли жучки
Замените участки кода вроде

И еще вместо lua_CFunction проскакивает lua_cfunction
Спасибо!

Я готов!

Когда вы поняли преимущества скриптовых языков программирования, самое время начать работать!
Скачайте из репозитория на гитхабе (низ топика) lib’у и includ’ы Lua, либо возмите их на официальном сайте.

Создаем консольный проект либо Win32 (это неважно) в Visual Studio (у меня стоит версия 2012)

Заходим в Проект->Свойства->Свойства конфигурации->Каталоги VC++ и в «каталоги включения» и «каталоги библиотек» добавьте папку Include и Lib из репозитория соответственно.

Теперь создаем файл main.cpp, пишем в нем:

Как вы догадались, у меня консольное приложение.

Теперь переходим к кодингу

Обещаю, что буду тщательно объяснять каждый момент

У нас за скрипты будет отвечать класс Script. Я буду объявлять и одновременно реализовывать функции в Script.h/.cpp
Создаем Script.cpp и пишем в нем

Создаем Script.h и пишем в нем

После 2 строчки и перед #endif мы определяем класс скриптов
Этот код пишется для предотвращения взаимного включения файлов. Допустим, что файл Game.h подключает Script.h, а Script.h подключает Game.h — непорядок! А с таким кодом включение выполняется только 1 раз

Теперь пишем внутри этого кода вот это

Первая строчка подключает сам lua.lib из архива.
Для чего нужен extern «C»? Дело в том, что lua написан на С и поэтому такой код необходим для подключения библиотек.

Дальше идет подключение хорошо известных многим файлов для работы с консолью

Теперь приступим к определению класса

Самый главный объект библиотеки Lua для C++ — lua_State, он необходим для выполнения скриптов

Дальше идут публичные функции

Эта функция инициализирует lua_State

Его определение в Script.cpp

Первой строчкой мы инициализируем наш lua_State.
Потом мы объявляем список «подключенных библиотек». Дело в том, что в «чистом» виде в луа есть только функция print(). Для математических и прочих функций требуется подключать специальные библиотеки и потом вызывать их как math.foo, base.foo, io.foo. Для подключения других библиотек добавьте в lualibs, например, <«math», luaopen_math>. Все названия библиотек начинаются с luaopen_. в конце lialibs должен стоять

Просто используем lua_close()

А эта функция выполняет файл. На вход она принимает название файла, например, «C:\\script.lua».
Почему она возвращает int? Просто некоторые скрипты могут содержать return, прерывая работу скрипта и возвращая какое-нибудь значение.

Как вы видите, я выполняю скрипт и возвращаю int. Но возращать функция может не только int, но еще и bool и char*, просто я всегда возвращаю числа (lua_toboolean, lua_tostring)

Теперь мы сделаем функцию, регистрирующую константы (числа, строки, функции)

Мы действуем через шаблоны. Пример вызова функции:
Ее определение

Для каждого возможного значения class T мы определяем свои действия.
*Капитан* последнее определение — регистрация функции
Функции, годные для регистрации, выглядят так:

Где n — количество возвращаемых значений. Если n = 2, то в Луа можно сделать так:

Читайте мануалы по Луа, если были удивлены тем, что одна функция возвращает несколько значений 🙂

Следующая функция создает таблицу для Луа. Если непонятно, что это значит, то тамошная таблица все равно что массив

Следующая функция регистрирует элемент в таблице.

Если вы не знаете Lua, вы, наверное, удивлены тем, что в один массив помещается столько типов? 🙂
На самом деле в элементе таблицы может содержаться еще и таблица, я так никогда не делаю.

Наконец, заполненную таблицу нужно зарегистрировать

Ничего особенного нет

Следующие функции предназначены в основном только для функций типа int foo(lua_State*), которые нужны для регистрации в Луа.

Первая из них — получает количество аргументов

Эта функция нужна, например, для функции Write(), куда можно запихать сколь угодно аргументов, а можно и ни одного
Подобную функцию мы реализуем позже

Следующая функция получает аргумент, переданный функции в скрипте

Можно получить все типы, описывавшиеся ранее, кроме таблиц и функций
index — это номер аргумента. И первый аргумент начинается с 1.

Наконец, последняя функция, которая возвращает значение в скрипт

Боевой код

Пора что-нибудь сделать!
Изменяем main.cpp

Компилируем. Теперь можно приступить к тестированию нашего класса

Помните, я обещал сделать функцию Write? 🙂
Видоизменяем main.cpp

А в папке с проектом создаем файл script.lua

Что значит скриптовый язык программирования

Компилируем и запускаем проект.

Что значит скриптовый язык программирования

Теперь изменяем script.lua

Теперь программа будет выводить по 2 строки («\n» — создание новой строки), ждать нажатия Enter и снова выводить строки.

Что значит скриптовый язык программирования

Экспериментируйте со скриптами!

Вот пример main.cpp с функциями и пример script.lua

Полезные советы
Вопросы и ответы

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *