16. プリミティブ型がオブジェクトとして扱えない
のはJavaの怠慢
.
Java ではないコード
.
int x = 42;
.
String s = x.toString();
.
こういうコードと等価とみなす
.
int x = 42;
.
String s = Integer.toString(x);
まぁ、拡張メソッドですね
21. use 束縛
.
F#の例
.
let f path =
.
use x = new StreamReader(path)
// x を使って何か素敵なことをする
// スコープを抜けるとx.Dispose が自動で呼び出される!
.
更に素敵な例
.
let f path =
.
// スコープは割と自由自在
let body =
use x = new StreamReader(path)
x.ReadToEnd()
// body を使って何か素敵なことをする