問題タブ [fsi]
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.
sqlite - F# で SQLite リソースを解放する
単純な SQLite データベースとテーブルを作成し、それを削除する次の F# スクリプトを検討してください。ただし、SQLite オブジェクトは適切に破棄されていないようで、ファイルのロックを解放していません。
私は F# がかなり苦手ですがuse
、オブジェクトのリソースはスコープ外になると破棄されることを理解していますが、この場合はそうではないようです。私も電話Dispose()
をかけてみましたがだめでした。
F# で SQLite オブジェクトを適切に破棄する方法を誰かが明らかにすることはできますか?
f# - FSI ライブラリを使用して F# スクリプトの現在の行をトレースすることは可能ですか?
FSharp コンパイラ サービス FSI 評価セッションを使用して DSL を実行しています。正確には、CNC マシンの G コードをシミュレートするために F# コードを使用しています。FSI スクリプトの各行がマシンを別の場所に移動するため、ユーザーは、実行中のスクリプトの現在の行がマシンの位置に同期されていることを確認したいと考えています。
現在実行中の行を示すコールバックを FSI 評価セッションから取得することは可能ですか?
f# - FSharp Interactive で「名前空間 FSI_00XX」とはどういう意味ですか?
Visual Studio 2015 の FSharp Interactive で FSX スクリプト ファイル (またはその他のファイル) を読み込むたびに、次のメッセージが出力されます。
FSX が空であるか、1 つ以上の型またはモジュールを含んでいるかは問題ではありません。結果は常に読み込みメッセージ (十分に明確) であり、次にnamespace FSI_00XX
メッセージです。ここで、XX は増分番号です。つまり、上記のコマンドを (ファイルを変更して、または変更せずに) 再度実行すると、次のように表示されます。
エラーのように見えますが、明らかにそうではありません。私の推測では、これは暗黙の名前空間であり、現在の名前空間は最新のものに設定されます。また、以前の名前空間を使用して以前のバージョンを参照できるということですか?
または、そうでない場合、それは何を表していますか?
注: コード スニペットの [インタラクティブに送信] を使用すると、このメッセージは表示されません。
dll - Visual Studio 2015 の F# インタラクティブが DLL インクルード パスを無視する場合がある
次のような DLL ロード命令のリストがあります。
リストは Newtonsoft.Json.dll (バージョン 7.0.1) を参照していることに注意してください。しかし、FSI で参照 DLL を使用するコードを実行すると、Visual Studio はログに示されているように、別の場所から Newtonsoft.Json をロードします。
セッションを「C:\Projects\Samples\fsharpreactivepatterns\packages\Akka\lib\net45\Akka.dll」にバインドしています... セッションを「C:\Program Files (x86)\Microsoft Visual Studio 12.0\Blend\Newtonsoft」にバインドしています。 Json.dll'...
Newtonsoft.Json.dll は、Visual Studio 2015 フォルダーの 1 つを指していません。私のマシンにもインストールされている Visual Studio 2013 の DLL を参照しています。
これまでに見つけた回避策は次のとおりです。
FSI は正しい Newtonsoft.Json バージョンをロードして使用するようになりました。
FSI が #r ディレクティブで指定された DLL パスを確実に使用するためのより良い方法はありますか?
module - F# 名前空間とモジュール : Wikibooks の素晴らしいコレクション
Wikibooks でライブラリ AwesomeCollections を使用しようとしてい ます https://en.wikibooks.org/wiki/F_Sharp_Programming/Advanced_Data_Structures
そのページから、.fsi と .fs のマークが付いた 2 つの別々のファイル コードに貼り付けをコピーしました。
私は.fsiファイルと .fs ファイルがどのように相互作用するかをよく理解していないことを認めなければなりません。
少し再フォーマットすると、ソリューションを作成して .fs ファイルのみを使用すると、正常に動作します。
ただし、.fsi ファイルと .fs ファイルの両方を使用すると、「名前空間 'ヒープ' が定義されていません」(プロジェクトのメイン .fs ファイル内) などのエラー メッセージが表示されます。 '" (プロジェクトのメイン .fs ファイル内)
"Unexpected keyword 'type' in implementation file" (.fs ファイルでタイプ Queue を定義しようとした場合)
AwesomeCollections.fs
maintenance.fs (これらのライブラリを使用しようとするメイン プログラム)
最後に、ソリューションで、次のファイル AwesomeCollections_bis.fs のみ (fsi ファイルなし) を使用することにした場合、コードは正常にコンパイルされます。
インデントが重要であることがわかり、それで遊ぶことで問題が解決すると思っていましたが、私にはそうではありませんでした。
親切に助けてくれてありがとう!
f# - F# Interactive の Xamarin.Forms
デフォルトの WPF DLL を参照することで、コードのみの WPF を使用してできることはすべて非常に簡単に実行できます。
...そして、ウィンドウがまだ開いている間に操作できます...
...そしてボタンをクリックして動作を確認します。UI コンポーネントを構築するための非常に強力な方法のようです。
Xamarin.Forms で同じことを行う方法はありますか?