Введение, или краткий обзор

Материал из Deeptown Manual
Версия от 09:40, 6 сентября 2007; Root (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание


(Введение...)

Здравствуй, мир!

Классический пример программы, выводящей строку "Hello, world!" на экран, на языке K++ выглядит следующим образом:

package hello_world;

import std;
external console_stream STDOUT;

export function void main()
{
    STDOUT.print("Hello, world!\n");
}

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

Стандартные типы данных, такие как строки, целые числа, а также класс console_stream, объявлены в модуле std - третья строчка программы подключает этот модуль.

Теперь несколько слов о том, как такая программа будет запущена.

В первую очередь стоит отметить, что нет никаких стандартов на имя функции main или объекта STDOUT. На платформе Gide каждая программа является библиотекой, и порядок ее использования полностью определяется пользователем. В данном случае предполагается, что программа будет запускаться при помощи консольной команды gide.run, реализованной в модуле стандартной библиотеки. Эта команда определяет три глобальные переменные STDIN, STDOUT и STDERR типа console_stream и запускает функцию main, экспортируемую программой.

Если бы мы, скажем, писали бы программу, генерирующую текстуру - никакой функции main в ней не было бы. Набор экспортируемых ей функций полностью определялся бы требованиями генератора текстур, которые описаны в соответствующей документации.

Четвертая строчка программы объявляет глобальную переменную STDOUT, имеющую тип console_stream, как внешнюю - т.е. создаваемую пользователем.

И, наконец, строки 6-9 задают функцию main, которая вызывает метод print объекта STDOUT, передав ему строку "Hello, world!\n" в качестве параметра.

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

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
информация
документация
Инструменты