D достаточно прост в освоении, так что давайте начнём создавать нашу первую D-программу!
Напишем простую D-программу. Все D-файлы будут иметь расширение .d. Поэтому вставьте следующий исходный код в файл test.d.
import std.stdio; /* Моя первая программа на D */ void main(string[] args) { writeln("тест!"); }
Предполагая, что окружение для языка D настроено правильно, запустите программу, используя
$ dmd test.d $ ./test
Для быстрого запуска можно использовать rdmd, при этом программа сразу будет откомпилирована и запущена
$ rdmd test.d
– прим. пер.
Мы можем увидеть следующий вывод.
тест!
Давайте теперь рассмотрим базовую структуру программы на D, чтобы вам было легче понять основные строительные блоки языка D.
Библиотеки являются коллекциями многократно используемых частей программы, доступ к ним для нашего проекта можно получить с помощью оператора импорта import. Здесь мы импортируем стандартную библиотеку, которая предоставляет базовые операции ввода-вывода. Функция writeln, которая используется в программе, показанной выше, является функцией из стандартной библиотеки D. Она используется для печати строки текста. Содержимое библиотек в D сгруппировано в модули, в соответсвии с типами задач, для которых их предполагается использовать. Единственным модулем, который применяет эта программа, является std.stdio, предназначенный для выполнения ввода и вывода данных.
Функция main – это то место, в котором начинается выполнение программы, и в котором определяется порядок и способы выполнения других частей программы.
Программа на D состоит из различных токенов, а токен может являеться ключевым словом, идентификатором, константой, строковым литералом, либо символом. Например, следующий D-оператор состоит из четырех токенов –
writeln("тест!");
Отдельными токенами являются:
writeln ( "тест!" ) ;
Не нравится мне слово "Токен", но боюсь, что не могу придумать для английского слова "token" адекватного ситуации перевода. Возможно, подошло бы слово "Литерал", но по факту оно такое же кривое... – прим. пер.
Комментарии – это что-то вроде вспомогательного текста в вашей программе на D, и они игнорируются компилятором. Многострочный комментарий начинается с /* и заканчивается символами */, как показано ниже –
/* Моя первая программа на D */
Одиночный комментарий записывается с использованием символов // в начале комментария.
// моя первая программа на D
Идентификатор в D - это имя, используемое для идентификации переменной, функции или любого другого пользовательского элемента. Идентификатор начинается с буквы от A до Z или от a до z или с символа подчеркивания _, за которым следуют ноль или более букв, знаков подчеркивания и цифр (от 0 до 9).
D не допускает знаков, таких как @, $ и % внутри идентификаторов. D − чувствительный к регистру язык программирования. Таким образом, Manpower и manpower являются двумя разными идентификаторами в D. Вот некоторые примеры допустимых идентификаторов −
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
В следующем списке показаны несколько зарезервированных слов в D. Эти зарезервированные слова нельзя использовать как константы или переменные, или в качестве имён любых других идентификаторов.
abstract | alias | align | asm |
assert | auto | body | bool |
byte | case | cast | catch |
char | class | const | continue |
dchar | debug | default | delegate |
deprecated | do | double | else |
enum | export | extern | false |
final | finally | float | for |
foreach | function | goto | if |
import | in | inout | int |
interface | invariant | is | long |
macro | mixin | module | new |
null | out | override | package |
pragma | private | protected | public |
real | ref | return | scope |
short | static | struct | super |
switch | synchronized | template | this |
throw | true | try | typeid |
typeof | ubyte | uint | ulong |
union | unittest | ushort | version |
void | wchar | while | with |
Строка, содержащая только пробельные символы, возможно с комментарием, называется пустой строкой, и компилятор D полностью игнорирует её.
Пробельный символ (whitespace) − это термин, используемый в D для описания пробелов, символов табуляции, символов новой строки и комментариев. Пробельный символ отделяет одну часть инструкции от другой и позволяет интерпретатору идентифицировать, где начинается один элемент в инструкции, такой как int, и следующий элемент. Таким образом, в следующем утверждении −
local age
должен быть хотя бы один пробельный символ (обычно пробел) между local и age, чтобы интерпретатор мог различать их. С другой стороны, в следующем утверждении
int fruit = apples + oranges //получить общее количество фруктов
Никаких пробельных символов не требуется между fruit и =, или между = и apples, хотя вы можете включать их, если хотите, для удобства чтения.