日記 2022/12/28
D言語の最近のアップデートを追う。
code:d
// メソッドの短縮記法
int add(int x, int y) pure => x + y;
// 無視できない型
@mustuse struct Result {
int status;
string message;
}
Result hoge(string msg) {
return Result(0, null);
}
hoge("test"); // Result型は無視できないのでコンパイルエラー
auto result = hoge("test");
if (result.status != 0) {
// エラー処理
}
Erlangライクな並行性、メッセージパッシング、パターンマッチ、プロセスモニタを持つ code:gleam
fn spawn_task(i) {
task.async(fn() {
let n = int.to_string(i)
io.println("Hello from " <> n)
})
}
pub fn main() {
list.range(0, 1_000_000)
|> list.map(spawn_task)
|> list.each(task.await_forever)
}