bat/tests/syntax-tests/source/D/test.d

45 lines
976 B
D
Raw Normal View History

2020-10-19 23:03:46 +02:00
// selective import
import std.stdio : writeln, writefln;
// non-selective import
2020-10-19 22:53:10 +02:00
import std.algorithm;
/* a multiline comment
*
2020-10-19 23:03:46 +02:00
* this function is safe because it doesn't use pointer arithmetic
2020-10-19 22:53:10 +02:00
*/
2020-10-19 23:03:46 +02:00
int the_ultimate_answer() @safe {
// assert1on
assert(1 != 2);
// now we can safely return our answer
2020-10-19 22:53:10 +02:00
return 42;
}
void main()
{
// function call with string literal
writeln("Hello World!");
// an int array declaration
int[] arr1 = [1, 2, 3];
2020-10-19 23:03:46 +02:00
// an immutable double
immutable double pi = 3.14;
// a mutable double
double d1 = pi;
// a pointer
double* dp1 = &d1;
// another pointer to the same thingy
auto a1 = &d1;
// a constant bool
const bool b1 = true;
if (b1) {
// another function call
writefln("%s\n%s\n%s\n", arr1, d1, the_ultimate_answer());
}
else if (!b1) {
writeln("this seems wrong");
}
else {
writeln("I'm giving up, this is too crazy for me");
}
2020-10-19 22:53:10 +02:00
}