D LanguageAan de slag met D Language


Opmerkingen

D is een systeemprogrammeertaal met C-achtige syntaxis en statisch typen. Het combineert efficiëntie, controle en modelleervermogen met veiligheid en productiviteit van de programmeur.

versies

Versie changelog Publicatiedatum
D http://www.digitalmars.com/d/1.0/changelog.html 2007-01-23
D2 https://dlang.org/changelog/2.000.html 2007-06-17

Hallo Wereld

import std.stdio;

// Let's get going!
void main()
{
    writeln("Hello World!");
}
 

Om te compileren en uit te voeren, slaat u deze tekst op als een bestand met de naam main.d Voer dmd main.d vanaf de opdrachtregel om het programma te compileren. Voer ./main slotte ./main uit om het programma in een bash-shell uit te voeren of klik op het uitvoerbare bestand op Windows.

Hallo Wereld!

Om het klassieke "Hallo, wereld" afdrukprogramma te maken, maakt u een bestand met de naam hello.d met een teksteditor met de volgende code:

import std.stdio;

void main() {
    writeln("Hello, World!");    //writeln() automatically adds a newline (\n) to the output
}
 

Uitleg :

import std.stdio
 

Deze regel geeft de compiler aan dat functies die zijn gedefinieerd in de standaardbibliotheekmodule std.stdio zullen worden gebruikt. Elke module kan worden geïmporteerd, zolang de compiler weet waar hij naar moet zoeken. Veel functies worden aangeboden als onderdeel van D's enorme standaardbibliotheek.

void main() {
 

Deze lijn verklaart de functie main , terug void . Merk op dat in tegenstelling tot C en C ++, D het hoofdtype van het type void . De functie main is speciaal, omdat deze het beginpunt van het programma is, dit is waar de uitvoering van het programma begint. Enkele opmerkingen over functies in het algemeen:

  • De naam van een functie kan alles zijn dat begint met een letter en bestaat uit letters, cijfers en onderstrepingstekens.

  • Verwachte parameters zijn een door komma's gescheiden lijst met variabelenamen en hun gegevenstypen.

  • De waarde die de functie naar verwachting zal retourneren, kan elk bestaand gegevenstype zijn en moet overeenkomen met het type expressie dat wordt gebruikt in de return-instructie binnen de functie.

De accolades { … } worden in paren gebruikt om aan te geven waar een codeblok begint en eindigt. Ze kunnen op veel manieren worden gebruikt, maar in dit geval geven ze aan waar de functie begint en eindigt.

writeln("Hello, World!");
 

writeln is een functie gedeclareerd in std.stdio die zijn afspraken naar stdout schrijft. In dit geval is het argument "Hello, World" , dat naar de console wordt geschreven. Er kunnen tekens van verschillende formaten worden gebruikt, vergelijkbaar met die van C's printf , zoals \n , \r , enz.

Elke verklaring moet worden beëindigd door een puntkomma.

Opmerkingen worden gebruikt om iets aan te geven aan de persoon die de code leest en worden door de compiler als een blanco behandeld. In de bovenstaande code is dit een opmerking:

//writeln() automatically adds a newline (\n) to the output
 

Dit zijn stukjes code die door de compiler worden genegeerd. Er zijn drie verschillende manieren om in D te reageren:

  1. // - Geef commentaar op alle tekst op dezelfde regel, achter de //
  2. /* comment text */ - Deze zijn handig voor opmerkingen over meerdere regels
  3. /+ comment text + - Dit zijn ook opmerkingen over meerdere regels

Ze zijn erg handig om over te brengen wat een functie / stuk code een collega-ontwikkelaar doet.

Het programma compileren en uitvoeren

Om dit programma uit te voeren, moet de code eerst worden gecompileerd in een uitvoerbaar bestand. Dit kan gedaan worden met behulp van de compiler.

Om te compileren met behulp van DMD, de referentie-D-compiler, opent u een terminal, navigeert u naar de locatie van het bestand hello.d dat u hebt gemaakt en voert u het volgende uit:

dmd hello.d

Als er geen fouten worden gevonden, voert de compiler een uitvoerbaar bestand uit naar uw bronbestand. Dit kan nu worden uitgevoerd door te typen

./hello

Na uitvoering zal het programma Hello, World! afdrukken Hello, World! , gevolgd door een nieuwe regel.

Installatie of instellingen

De standaard compiler DMD van de D-programmeertaal kan op alle belangrijke platforms worden uitgevoerd. Zie hier om DMD te installeren. Om te installeren via de opdrachtregel, kunt u de opdracht uitvoeren (te vinden op de D-website):

curl -fsS https://dlang.org/install.sh | bash -s dmd
 

Pakketbeheerders

Arch Linux

pacman -S dlang
 

chocolatey

choco install dmd
 

Gentoo

layman -f -a dlang
 

OSX Homebrew

brew install dmd
 

Debian / Ubuntu

Installatie op Debian / Ubuntu-distributies vereist dat de APT-repository wordt toegevoegd aan de bronnenlijst.

wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
wget -qO - https://dlang.org/d-keyring.gpg | sudo apt-key add -
apt-get update
apt-get install dmd-bin
 

Andere compilers

LDC is een D-compiler die de officiële DMD-compiler frontend en LLVM als backend gebruikt.

GDC is een D-compiler die de GCC-backend gebruikt om code te genereren.

Ides

Om het leven gemakkelijker te maken, wilt u misschien ook een IDE (Integrated Development Environment) installeren. De D-Language Wiki heeft een lijst met beschikbare IDE en plugins voor alle platforms hier .

Lees waarden van een string

import std.format;

void main() {
    string s = "Name Surname 18";
    string name, surname;
    int age;
    formattedRead(s, "%s %s %s", &name, &surname, &age);
    // %s selects a format based on the corresponding argument's type
}
 

Officiële documentatie voor de indelingsstrings is te vinden op: https://dlang.org/phobos/std_format.html#std.format