D | 触ったことない言語で Hello world! Advent Calendar 2日目
導入
$ brew install dmd
1秒かからずに終わる。
コンパイルからの実行
$ dmd hoge.d $ ./hoge
コンパイルと実行を一発でやってくれるやつ
$ rdmd hoge.d
Hello world!
// Hello world import std.stdio; void main() { writeln("Hello, world!"); }
おまけ
任意の数だけD言語くんがにょきにょき生える
import std.stdio; import std.conv; void main(string[] args) { auto limit = to!(int)(args[1]); for (uint i; i < limit; i++) { writeln(" _ _"); writeln(" (_) (_)"); writeln("/______ \\"); writeln("\\\\(O(O \\/"); writeln(" | | | |"); writeln(" | |_| |"); writeln("/______/"); writeln(" < >"); writeln(" (_) (_)"); } }
これをD鎖といいます
つまづいたとこ・へーっておもったとこ
- https://k3kaimu.github.io/dmanual ここが一番よさげ
- 指定子はとりあえず
%s
(文字列)にしといたらよしなにやってくれる - 変数は宣言されたら自動的に初期化される。ありがたい
int.init
とかでデフォルトの初期化値がわかる
uint
っていう符号無しの型がある うれしい使い方が知りたい.hoge
と書くことで、グローバルなシンボルhoge
を指すことができる.idup
(コピー)されたときにできるやつはimmutableになって代入ができなくなる1..11
はRubyでいう1...11
なので注意