問題タブ [clojureclr]
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.
clojure - Clojure-CLR 1.4.1 で .NET WebClient 呼び出しを使用する方法
質問: Idiomatic way to write .NET interop functionで、次のコード セグメントを見つけました。
REPL を開始して入力すると、次のようになります。
(インポート '(System.IO StreamReader))
大丈夫。しかし、私が入ると:
(インポート '(System.Net HttpWebRequest))
(NetworkCredential 機能は必要ありません) 次のようになります。
ああ、私は以前にやった:
それで、私は他に何をする必要がありますか?助けてくれてありがとう。
clojure - Clojure/ClojureCLR で Java/C# サブクラスから非仮想保護メソッドを呼び出す
gen-class を使用して Clojure でサブクラスを作成する場合、exposes-methods を介して保護された仮想 (非最終) メソッドを公開できますが、オーバーライドによって実装されるため、非仮想 (最終) メソッドでは機能しません。
リフレクションを通じてこの方法で保護されたメソッドを呼び出す唯一の方法はありますか?
reify または proxy はこれを gen-class よりもうまく行うことができますか?
clojure - ClojureCLR強制エラー
基本的な強制のために ClojureCLR REPL でコンパイラ例外が発生します。
これが初心者の質問である場合は申し訳ありませんが、Java 相互運用と同じように動作していません!
.NET の構文は異なりますか?
clojure - Clojure CLR - プロパティを含むインターフェイスを実装する
プロパティを持つインターフェイスを実装しようとしていますが、それを機能させることができないようです。また、Google を介して関連する例を (まだ) 見つけていません。私はここで何か完全に間違っていると確信していますが、それを修正する方法がわかりません。
IsReusable はプロパティであり、従来の関数ではないことを reify に伝える方法がわかりません。
わかりました、IsReusable に 'this' を指定します
プロキシも試しましたが、同様の結果が得られます。
また、IsReusable を get_IsReusable に命名しようとしましたが、実際には違いはなく、上記と同じコンパイラ エラーが発生します。
deftype も試しましたが、まったく別のエラーが発生します。
コンパイラ エラー:
アップデート:
deftype 用に投稿されたコードは機能しますが、上記のエラーを再現できません。当時の私が何を間違っていたのか、今となってはわかりません。
clojure - リフレクションなしで ClojureClr のファイルに行の遅延シーケンスを書き込む
ファイルに書き込みたい大量の怠惰な行があります。C# ではSystem.IO.File/WriteAllLines
、行が or のいずれかであるオーバーロードを持つ which をstring[]
使用しますIEnumerable<string>
。
実行時にリフレクションを使用せずにこれを行いたいです。
しかし、この反射警告が表示されます。
リフレクションの警告... - WriteAllLines の呼び出しを解決できません。
一般に、パフォーマンス上の理由からリフレクションが必要な場合を知る必要がありますが、この特定のメソッド呼び出しについては気にしません。警告を消すためにもう少しコードを書いても構わないと思っていますが、すべてのデータを配列としてメモリに強制するつもりはありません。助言がありますか?
c# - clojure-clr をスクリプト インタープリターとして使用する
.clj ファイルをロードし、AutoCAD 内で関数を使用できるようにする、C# でセットアップされた非常に単純な clojure インタープリターがあります。これはうまく機能しますが、1 つの優れたマスター ファイルを使用するのではなく、ソース ファイルを「モジュール化」できるように、もう少し構造を設定したいと思います (これが現在動作させる唯一の方法です)。 .
スクリプト内で import、use、require load、load-file などのさまざまな方法を試し、C# スクリプト コードに複数のファイルをロードすることも試しましたが、ロード時に必要な他のファイルを参照するメイン スクリプトを 1 つ用意したいと思います。通訳者。
これは、現在メイン ファイルをロードするために使用している C# スニペットです。
実行時にロードしたい 2 つのファイルの例を次に示します。メイン ファイルは他のすべてのファイルを参照します。
現在、メインファイルと同じフォルダーにありますが、ある段階でこれらをサブフォルダーに整理したいと考えています。
これについて最善の方法についてのガイダンスはありますか?ありがとう。
編集:メインファイルに次の変更を加えて作業していますが、これを行うためのより良い方法、たとえば、main.cljファイルフォルダーと一致するようにロードパスを設定する方法についてはまだオープンです。参照用に変更されたファイルは次のとおりです。
.net - リモート デバイスのエンドポイント UDP Clojure CLR を決定する
Clojure CLR で同等の C# コードを実行しようとしています
私がClojureで試したことはうまくいきません:
0.0.0.0:0 が表示されるだけです。参照が機能していないと思いますが、ヒント/キャスト構文もわかりません。
ref https://github.com/richhickey/clojure-clr/wiki/CLR-Interopに関する情報については、こちらを参照してください。 型の指定についてはこちら: https://github.com/clojure/clojure-clr/wiki /指定型
clojure - ClojureClr ソース マクロ: 標準ライブラリ関数のソースが見つかりません
関数のソース コードを出力しようとしていますが、Source not found
Clojure.Main.exe を実行して ClojureClr 1.6.0 を使用しています。.clj
clojureのソース ファイルがありません。私は何が欠けていますか?
編集:
ここでは、ファイルはclojure/core.clj
、
そのフォルダは特定のパスにある必要がありますか? replまたは何かに関連して?