[過去ログ] 【.NET】F#について語れ2【OCAML】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
73: 2011/06/02(木)16:13 AAS
>>71
つ Verbose syntax
74(1): 2011/06/02(木)20:42 AAS
FSIにnamespaceとかopenて流し込めないんだね・・・
デバッグの途中で
add 1 2
とか打てたらいいんだけど・・・
F#ってデバッグが難しいね;;
75(2): 2011/06/02(木)21:59 AAS
>>72
サブクラスとか、キャストとか、なんか根本的に間違ってないか。
>>74
openは流せる。まさかopen Listがエラーだからとか言わないよね?
76: 2011/06/02(木)22:05 AAS
>>75
あぁ、ごめん。書き方が悪かった。
自分で定義したnamespaceを
openすることができないってことでした。すいません。
77(1): 2011/06/02(木)22:44 AAS
>75
いやC#からだとUnionそういう風にしか扱えなくなかったっけ?
そのUnionのインスタンスでIsManagerとかよべるけど。ManagerであるUnion値をManagerとして扱いたいときにどうしたらいいかって話。
もっとまともな方法あったっけ?
78(1): 2011/06/03(金)00:30 AAS
>>77
type Employee = ... | Manager of Hoge の場合↓
var emp = Employee.NewManager(hoge);
if (emp.IsManager) {
var mngr = ((Employee.Manager)emp).Item;
// dosomething
}
だからDesign Guidelinesにはまんま使うなと書いてある。
79(1): 2011/06/03(金)09:26 AAS
誰かF#のいいデバッグ方法教えてー
80(2): 2011/06/03(金)09:28 AAS
F#のC#に対して優れているところを教えてください
81: 2011/06/03(金)09:50 AAS
>>80
協力な型推論、nullがない、パターンマッチ、関数内関数ができる、対話環境、並列計算に強い
とかじゃね。
82(1): 2011/06/03(金)09:55 AAS
nullって悪者なんですか・・・
パターンマッチ、並列計算に強い はおもしろそう
83(2): 2011/06/03(金)10:13 AAS
>78
あーやっぱりそんな感じかー
>79
自分も最初は悩んでたけど、最近はなんも困ってないな。なんでだろ。途中でうまく止めて値見るのとWriteLineで出しとくのとヘルパーとか使ってFSharpFunc楽に実行できるようにしたところか?
そもそもDebugが必要になる羽目になることが少なくなったというのもある気がするが。
>80
Debugしながらでもソースがいじれるところ。
84: 2011/06/03(金)10:16 AAS
>>83
Debugしながらでもソースがいじれる・・・イイ!
85: 2011/06/03(金)11:02 AAS
>>82
実行時エラーがない方が運用上大いなるなメリットがあるのは当然だろJK
quick sortの発明者アントニーホーアはnullは10億ドルの過ちであると言っている。
http://news.livedoor.com/article/detail/4047613/
86(1): 2011/06/03(金)15:53 AAS
まあ、どんなの場面でもnull不要とはいわないけども、
Anders Hejlsbergも「nullableの概念は参照型/値型の概念とは独立させておくべきだった」っていってるしね。
非nullable参照型は欲しい。
87: 2011/06/03(金)18:18 AAS
>>86
関数型言語にはnullは必要ないよ。関数型プログラマはnull参照エラーみたいなアホみたいな実行時エラーとは
無縁の世界でプログラムしているよ。
88: 2011/06/05(日)00:00 AAS
>>83
FSharpFuncってなんですか?
数値計算のプログラムを作ってる時は、
デバッグは絶対必要なんですよね・・・
関数の形で定義してると、途中で止めても
中の数値が見れないんですよねorz
let x=f a
とかしちゃってる時に、
f 1
の値を見る方法がないと、数値計算のプログラムのデバッグは
省2
89(1): 2011/06/05(日)06:40 AAS
伝統のprintfデバッグじゃダメ?
let dbg x = printfn "*debug:%A" x; x;;
こんな感じで使う。
[1..10] |> List.map ((+) 1) |> dbg |> List.map(fun x -> dbg(float x / 2.0));;
90: 2011/06/05(日)12:12 AAS
>>89
%Aでリスト(行列)を全表示できるのかな?
そうなら、そういう関数作っておけば、確かに楽そうだね。
DOS窓かよって不満はあるけどw
それやってみるよ。ありがと。
また、ただ、いろいろ細かい状態が知りたかったりするから
デバッグ中に値が知りたいというニーズは多いし、
あとはけっこう量が多いんだよね・・・うーん。
91: 2011/06/05(日)12:13 AAS
そういえばVSのデバッガは何だかんだでC#前提なままだったね。
92: 2011/06/05(日)12:25 AAS
> FSharpFuncってなんですか?
関数の型。クロージャ作るとそゆ型が付く。
まーF#の中にいる限りは特に意識する必要ないが。
C#と連携したいなら覚えておくといいかも。
上下前次1-新書関写板覧索設栞歴
あと 910 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s