Hello World: Lua и C++

29.06.2010. c++, Lua

0

Lua - простой и  удобный интерпретируемый язык программирования, позволяющий легко добавить скрипты в вашу программу.

Скачать и установить lua можно отсюда. Пользователи ubuntu/debian могут установить из репозитория:
sudo aptitude install lua5.1 liblua5.1-dev

Теперь создайте новый проект на c++ в своей IDE, затем создайте новый файл: script.lua

Для использования в c++ скриптов на lua необходимо подключить файл lua.hpp:

#include "lua.hpp" // или <lua.hpp>, "lua5.1/lua.hpp", в зависимости от того, как у вас установлен lua

Тем, кто пишет на c необходимо вместо #include "lua.hpp" написать:

#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"

Также вам необходимо подключить библиотеку lua (liblua5.1.so в linux или lua51.lib в Windows).

Теперь инициализируем lua:

lua_State *l = lua_open();
luaL_openlibs(l);

Далее создаем lua-скрипт: создаем новый файл script.lua и пишем в нем print "Hello World!!!"

Для испольнения этого скрипта в программе на c/c++ существует специальная функция:

luaL_dofile(указатель на экземпляр lua, имя или путь к файлу со скриптом);

После работы с lua надо не забыть его закрыть:

lua_close(l);

Теперь, если вы все сделали правильно, после запуска программы вы увидети строчку "Hello World!!!"

Программа польностью:
main.cpp:

#include &lt;iostream&gt;
#include "lua5.1/lua.hpp"
using namespace std;
 
int main()
{
    lua_State *l = lua_open();
    luaL_openlibs(l);
    luaL_dofile(l,"script.lua");
 
    lua_close(l);
    return 0;
}

script.lua:

print "Hello World";

Создание аудиокниг для iPod в Linux

23.06.2010. Linux

0

Иногда возникает необходимость в создание аудиокниг для iPod в Linux.

Первым делом необходимо доустановить необходимые пакеты. В (K)Ubuntu, Debian:
sudo aptitude install mp3wrap, mplayer, faac

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

Затем заходим в папку с аудиокнигой в формате mp3. Достаточно часто в интернет выкладываю книги, разделенный на несколько файлов. Для связи из в один необходимо воспользоваться утилитой mp3wrap:

mp3wrap book файл1 файл2 ...

В результате работы программы из файла 1, файла 2, файла 3 и т.д. должен получится один файл. Если ввести mp3wrap book *.mp3, то создастся файл book_MP3WRAP.mp3, объединяющий все mp3-файлы, находившиеся в папки в алфавитном порядке (т.е. файл с именем 1 будет идти перед файлом с именем 2, но файл 1 будет идти после файла с именем 10)

Теперь конвертируем аудиокнигу в pcm (wav, формат без сжатия):
mplayer -vc null -vo null -ao pcm:nowaveheader:fast:file=book.pcm book_MP3WRAP.mp3

Теперь остался последний шаг: конвертация в формат, распозноваемый iPod`ом:

faac -R 44100 -B 16 -C 2 -X -w -q 70 --artist "автор" --album "книга" --track "1" --genre "Audiobooks" --year "год" --cover-art "обложка.jpg (png,gif)"  -o book.m4b book.pcm

Для уменьшения размера книги можно уменьшить значение параметра -q

Все, аудиокнига готова, осталос ее закинуть на iPod (например, через Amarok) и можно слушать

Краткие основы JavaScript

19.06.2010. JavaScript

0

Что такое?

JavaScript - объектно-ориентированый скриптовой язык программирования, в первую очередь предназначенный для создание интерактивный (т.е. изменяющихся без перезагруки) web-страниц

Типы данных и переменные

Основные типы данных в javascript:

JavaScript - язык со свободными типами данных, т.е. можно проводить операции с различными типами данных (складывать число и строку и т.д.)

Переменные.

Переменная в javascript начинается с буквы, знака доллара или подчеркивания и может содержать только буквы, знак доллара, подчеркивание и цифры. Регистр, в котором написана переменная важен (a и A - разные переменные)
Создаются переменые очень просто:

Приведение типов

Для проведения некоторых операция требуется преобразование одного типа данных в другой. Для этого существуют специальные функции:

Примечание: запись func(a1[,a2[,a3..]]) означает, что в [ ] находятся необязательные параметры, которые можно опустить. Т.е. если написано s(a[,b]), то можно писать и s(a) и s(a,b)

Арифметические операторы

Математика

Функции

Math.функция

Константы

Math.константа

Логические операторы и операторы сравнения

Условные операторы

if  (условие) {code{ - если условие истино, то выполняется код в { }

if (условие)

{ code }

else

{code 2}

Если усовие истино, то выполняется code, иначе code 2

switch (выражение)

{

case value1:

код;

break;

case value2:

код2;

break;

default:

код

}

В зависимости от значение выполяется различные код, если ни одно значение не совпадает выполняется код, описанный в default

условие ? код 1 : код 2 - если условие истино, выполняется код 1, иначе код 2

Операторы цикла

for (инициализация, условие, изменение) {code} - цикл выполняется до тех пор, пока условие истино. Например for (i=0;i<13;i++) {a+=a}

while (условие) {код} - пока условие истино выполняем код

do { код } while (условие) - аналогично предыдущему, только сначала выполнится код, а потом проверится условие

Функции

Cоздание фукнции в Java Script:

function name(parametr1[,parametr2...)
{

code

}

Вызов

name(параметры);

Строки

Специальные функции для работы со строками:

escape(string) - возвращает escape-последовательность стоки

unescape(string) - обратная операция

eval - вычисляет значение выражения, записанного в строку. Например, eval("2+5") вернет 7

Свойства и методы объекта String:

Записывается так: имя перемнной.свойство (метод)

Массивы

Массивы - множество переменных, объединеных общим именем.

Создание массива - name = new Array ([длинна])

Пример:

a=new Array;

a[0]=0;

a[1]="one";

a[2]=true;

И т.д.

Свойства и методы массивов в JavaScript:

Промокод для majordomo.ru – QUD58572

9.06.2010. Hints

0

Если кто-либо желает зарегестрировать себе хостинг на majordom и лихорадочно ищет промокод для него, то вот он - QUD58572. При вводе данного промокода вы получите 150рублей на халяву:), что на самом дешевом тарифе (90р месяц + бесплатная регистрация домена) составляет 50 дней бесплатного хостинга, а с учетом бесплатного тестового периода целых 64 дня бесплатного пользования хостингом:)

Страница 1 из 11

Rambler's Top100 Блогун - монетизируем блоги