タグ付けされた質問 「f#」

F#は、.NET用の簡潔で表現力豊かで効率的な機能およびオブジェクト指向言語であり、複雑な問題を解決するための単純なコードの記述に役立ちます。

2
F#Coreが汎用配列型を定義するのはなぜですか?
FSharp.Core名前空間には、最大4次元の一般的な配列型、つまりCore。[] <'T>、Core。[、] <' T>などが含まれていることに気付きました。C#とVBはうまく機能しているようです。 System.Arrayを使用-int []、string []などの厳密に型指定された特殊な配列型をどのようにサポートするかは明確ではありませんが。 私はこれが2つの質問になると思う: C#は、非ジェネリックSystem.Arrayに基づくint []のような厳密に型指定された特殊な配列型をどのようにサポートしますか? C#がこれをなんとかしているのに、なぜF#は汎用配列型を定義するのですか?
11 c#  .net  f# 

1
C#の知識がなくても深刻なF#プロジェクトにアプローチするにはどうすればよいですか?
したがって、基本的に私が着手したいプロジェクトは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#を使用してこのプロジェクトに取り組む方法を理解するのに役立ちます。
11 wpf  f# 

4
「混合」言語での設計:オブジェクト指向設計または関数型プログラミング?
過去数年間で、私が使用したい言語はますます「機能的」になりつつあります。現在、C#、F#、Scalaなどの「ハイブリッド」言語を使用しています。ドメインオブジェクトに対応するクラスを使用してアプリケーションを設計し、これによりコーディングがより簡単に、より正確に、より安全になる機能機能を使用します(特にコレクションの操作時または関数の受け渡し時)。 ただし、パターンを設計する場合、2つの世界は「衝突」します。私が最近直面した具体的な例は、Observerパターンです。アイテムが作成または変更されたときに、プロデューサーに他のコード(「消費者/オブザーバー」、たとえばDBストレージ、ロガーなど)に通知してほしい。 私は最初に次のように「機能的に」それをしました: producer.foo(item => { updateItemInDb(item); insertLog(item) }) // calls the function passed as argument as an item is processed しかし、私は今、もっと「OO」アプローチを使用すべきかどうか疑問に思っています。 interface IItemObserver { onNotify(Item) } class DBObserver : IItemObserver ... class LogObserver: IItemObserver ... producer.addObserver(new DBObserver) producer.addObserver(new LogObserver) producer.foo() //calls observer in a loop 2つのアプローチの長所と短所はどれですか?かつてFPの第一人者が、デザインパターンは言語の制限のためだけにあると言ったことを聞いたことがあり、それが関数型言語にはほとんどない理由です。たぶん、これはその例でしょうか? 編集:私の特定のシナリオでは、私はそれを必要としませんが、..機能的な方法で「観測者」の削除と追加をどのように実装しますか?(つまり、パターンのすべての機能をどのように実装しますか?)たとえば、新しい関数を渡すだけですか?

7
関数型プログラミングの引数[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 私は最近、F#を楽しみに学んでいます(私はVB.NET/C#の開発者です)。理論的にはそうです。しかし、C#ではなくF#でコーディングすることを選択するシナリオを考えるのに苦労しています。何か案は?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.