diff options
| -rw-r--r-- | .d.html.markdown.swp | bin | 0 -> 12288 bytes | |||
| -rw-r--r-- | d.html.markdown | 61 | 
2 files changed, 61 insertions, 0 deletions
| diff --git a/.d.html.markdown.swp b/.d.html.markdown.swpBinary files differ new file mode 100644 index 00000000..f310c87d --- /dev/null +++ b/.d.html.markdown.swp diff --git a/d.html.markdown b/d.html.markdown new file mode 100644 index 00000000..9f322423 --- /dev/null +++ b/d.html.markdown @@ -0,0 +1,61 @@ +--- +language: d  +filename: learnd.d  +contributors: +    - ["Nick Papanastasiou", "www.nickpapanastasiou.github.io"] +lang: en +--- + +If you're like me and spend way to much time on the internet, odds are you've heard  +about [D](http://dlang.org/). The D programming language is a modern, general-purpose, +multi-paradigm language with fantastic support for OOP, functional programming, metaprogramming, +and easy concurrency and parallelism, and runs the gamut from low-level features such as +memory management, inline assembly, and pointer arithmetic, to high-level constructs  +such as higher-order functions and generic structures and functions via templates, all with +a pleasant syntax, and blazing fast performance!  + +D is actively developed by Walter Bright and Andrei Alexandrescu, two super smart, really cool +dudes. With all that out of the way, let's look at some examples! + +'''d +// You know what's coming... +import std.stdio; + +// args is optional +void main(string[] args) { +    writeln("Hello, World!"); +} + +// Conditionals and loops work as expected. +import std.stdio; + +void main() { +    for(int i = 0; i < 5; i++) { +        writeln(i); +    } + +    auto n = 1; // use auto for type inferred variables + +    while(n < 10_000) { +        n += n; +    } + +    do { +        n -= (n / 2); +    } while(n > 0); + +    // For and while are nice, but in D-land we prefer foreach +    foreach(i; 1..int.max) { // The .. creates a continuous range  +        if(n % 2 == 0) +            writeln(i); +    } + +    foreach_reverse(i; short.max) { +        if(n % 2 == 1) +            writeln(i); +        else +            writeln("No!"); +    } +} + +''' | 
