D Language Zelfstudie
Aan de slag met D Language
Zoeken…
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 |
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 .
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:
-
//
- Geef commentaar op alle tekst op dezelfde regel, achter de//
-
/* comment text */
- Deze zijn handig voor opmerkingen over meerdere regels -
/+ 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.
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