C#の知識がなくても深刻なF#プロジェクトにアプローチするにはどうすればよいですか?


11

したがって、基本的に私が着手したいプロジェクトはSVGエディターです。アプリケーションレイアウトにXAMLを活用できるため、WPFを使用することをお勧めします(デザイナーは気の利いたものです)。残念ながら、私は.NETフレームワークをほんの数か月しか使用していませんが、ほとんどのクラス名にはまだ馴染みがありません。

F#は関数型プログラミング言語であり、F#の再帰と素晴らしいリスト操作とタプルを組み合わせることで、F#を使用することが目標でした。そして、目標は、使用可能なドキュメント化されたクラスの膨大なライブラリとサンプルを備えた.NETを使用することです。

私はすでにこの質問を見ました。/software/3129/is-there-a-canonical-book-on-f しかし、答えは一般にF#に対するものであり、すでにC#を知っていると仮定しています。 。

上記の質問に対する答えとしてのトップブックは、実世界の関数型プログラミング:F#およびC#の例を使用したものでした。ただし、この本のAmazonの3つ星レビューは、かなり厳しく、おそらく誇張されているものの、私の問題を正しく示しています。

関数型プログラミングに興味があるが、F#を学習しようとしているC#ではない場合は、この本を安全にスキップできます。

私はオンラインでWPF F#の例を探しましたが、あちこちにさまざまなコードスニペットがありますが、単一のファイルスクリプト.fsxの外で使用されていることや、それが実際にエンタープライズレベルまたは少なくともプロフェッショナルレベルでさえ使用されていないことを示しています。

そのため、Microsoftでさえ、F#で.NETを実行する方法について多くの例がありません。私が見つけた例は通常、F#に固有の機能のみです。F#の基本セクションと高度なセクションを見てください。構文を教えているだけで有罪であることがわかります。たとえば、LineクラスのWPFのMSDNには、F#のコード例はありません。

F#のコードサンプルタブを下にスクロールすると、

No code example is currently available or this language may not be supported.

使用可能なコード例が非常に少ないため、このプロジェクトに着手するのは難しいと感じています。

私の質問
は、C#があまりよくわからないときにF#を使用してこのプロジェクトに取り組む方法を理解するのに役立ちます。

回答:


10

問題を2つの部分に分けます。

  1. WPFの使用を除外して、F#の基本を学びます。mutablesおよびwhile statementsを使用せずに関数を記述する方法を学びますfunction composition。これが完了したら、状態を更新するためにmutableを使用する方法を学びます。

  2. John LiaoによるF#でのWPFの学習、またはその逆を読んで、F#でWPFを使用する方法を学びます。

F#で好きなコードが見つからない場合は、F#がOCamlの子孫であるため、OCamlおよびSVG向けのGoogleであることに注意してください。F#はOCamlをコンパイルできませんが、非常に近いため、変換にそれほど時間はかかりません。大量のOCamlをF#に変換し、すべて変換しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.