brainfilesystem
@brainfs
F# 、printfn "こんにちわ";; とかやると、インタラクティブコンソールでは正常に出力されるのに、 fscコマンドで実行バイナリにしてから実行すると文字化けする、不条理 .
2012-06-09 12:37:26
brainfilesystem
@brainfs
あれ、ocamlって、float同士の計算のときは演算子の後ろにドットがついてた気がしたけどF# だとよろしくやってくれるのかな
2012-06-09 12:50:45
brainfilesystem
@brainfs
あれ、let fn a b = a * b;; fn 2 3;; fn 2.0 3.0;;ってやったらエラーになった、そういうものなのかな
2012-06-09 13:09:01
brainfilesystem
@brainfs
これで2点間の距離かなー let distance a b c d = let fn x y = (x ** 2.0 + y ** 2.0) ** 0.5 in abs (fn c d - fn a b);;
2012-06-09 13:25:42
brainfilesystem
@brainfs
"F# では、トップレベルにおける宣言のみが文であり、それ以外のもの、つまりlet宣言内に書かれるものすべては式です"なるほどー .
2012-06-09 13:27:32
brainfilesystem
@brainfs
変数のshadowing。推奨されない let fn = fun x -> let x = 2 in let x = 3 in x;; fn 1 (* => 3 *)
2012-06-09 13:33:54
いげ太
@igeta
@brainfs let inline fn a b = a * b としてみてください。オーバーロードが引き継がれて fn 2. 3. が通るようになります。
2012-06-09 15:59:24