問題タブ [let-binding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
f# - 差別された組合と束縛をさせますか?
差別共用体で let バインディングが許可されないのはなぜですか? デフォルトのコンストラクターで実行されている let バインディングと関係があると思いますか?
二次的な注意として、私がどのように書き直すAI_Choose
ことができるかについての提案をいただければ幸いです。AI とのタプルで重み付けされた優先度を維持したい。私の考えは、ChooseをAI_Weighted_Priority
継承してオーバーライドすることです。AI_Priority
長さの異なるzipリストを扱いたくありません(悪い習慣です。)
f# - F#でプロパティを適切に実装するにはどうすればよいですか?
私の最初の試み、次のようなF#の単純なタイプを考えてみましょう。
ここで、C#を介してこれをテストします(このオブジェクトはC#プロジェクトに公開されているため、明らかなC#セマンティクスが望ましいです)。
propName
が適切に割り当てられ、F#Setterが実行されていますが、の基になる値がprop
変更されていないため、2番目のアサートが失敗しています。mutable
この種の意味は、フィールドから削除してprop
もエラーが生成されないためです(値を変更しようとしているため、エラーが発生するはずです)。基本的な考え方が欠けているに違いないと思います。
単体テストに合格できるようprop
に、クラスで再バインド/変更する正しい方法は何ですか?Test