問題タブ [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 - CLR の Clojure
CLRでClojureを調査することに興味があります。移植版があることはわかりましたが、私は常に、これらの二流の市民 (つまり、オリジナルの安定性や機能性がない) には少し懐疑的です。Clojure の CLR が未熟だと一般に思われているのであれば、この時点で多くの時間を費やすつもりはありません。現時点では、多くの問題と戦う時間やエネルギーがありません。一方、CLR 上の Clojure が十分に完成しているように見える場合は、今日から始めます。
CLR で Clojure を実際に使用した経験のある人はいますか?
CLR バージョンを使い始めるためのアドバイスやその他のヘルプもいただければ幸いです。
clojure - .NET 相互運用機能を記述する慣用的な方法
可能であれば、次の clojure コードを記述するためのより慣用的な方法を探しています。
これは ClojureCLR 上にあり、動作します。(それが CLR バリアントであるという事実はあまり重要ではありません)
defs を取り除きたいです (let で置き換えますか? それらは相互に参照できますか?)
ストリームに到達するためのより良い方法はどうですか-後でストリームを閉じる必要があるため、チェーンは機能しないことに注意してください。
編集: 回答の後、.NET で WebClient クラスを使用して Web ページをダウンロードするはるかに簡単な方法を見つけました。私はまだMichalの推奨するアプローチの多くを使用しました.
clojure - Clojure:structmapで単一の値とマップを取得する
既知の順序で、他の場所から取得した一連の値があります。また、1つの個別の値があります。これらの両方を構造体に入れたいと思います。つまり
今私はリストを持っています
これは正規表現の結果です。
次に、ブール値を:visited;に入れたいと思います。次のような構造体を生成します。
どうすればよいですか?applyとstruct-mapのさまざまな組み合わせを試しました。私は次のようになりました:
しかし、それはそれを完全に回避するための間違った方法かもしれません。
clojure - Clojure: コレクションが seq 可能かどうかを調べる
list?、seq?、vector?、map? があります。など、引数がどのタイプのコレクションであるかを判別します。
の違いを伝える良い方法は何ですか
- マップ (つまり、キーと値のペアを含むもの)
- コレクション (つまり、値を含むもの)
- 文字列のような非コレクション値。
よりも良い方法はありますか
ide - ClojureCLR のエディター
REPL サポートとブレース マッチングを備えた ClojureCLR 用のエディターはありますか? ClojureCLR のサポートを Visual Studio に追加するプロジェクト vsClojure を見つけましたが、ビルドできませんでした。他のオプションはありますか?
.net - .NET から Clojure を呼び出す
私は Clojure-CLR で遊んでいます。私の REPL は機能しており、Clojure から .NET クラスを呼び出すことはできますが、コンパイルされた Clojure DLL を C# クラスから呼び出すことはできませんでした。
ここにあるJavaの例を適応させようとしています:
「Duplicate key: :name」エラーが発生するため、例の先頭から :name 行を削除しました。":name" 行がなければ、コードは正常にコンパイルされ、Visual Studio で参照を追加できますが、コードの使用方法がわかりません。さまざまな「using」ステートメントを試しましたが、これまでのところ何も機能していません。誰でもこれについて少し洞察を提供できますか? これが私が使用しようとしているClojureコードです。
clojure - Clojure-マップまたは固定値で設定->キー機能?
私のプログラムにはかなりの数のレコードがあり、それらのフィールドの1つをキーとして使用してマップを作成することになります。例えば
次に、IDをキーとしてマップに追加します。これはすべて完全に実行可能ですが、少し面倒です。たとえば、Fooの新しいインスタンスをマップに追加するときは、最初にキーを抽出する必要があります。clojure.coreのどこかに、これを行うためのデータ構造がすでに存在するのだろうか?
基本的には、セットの構築時にキーマッピング関数(つまり:id)に値を与えて、Fooのセットを構築し、それを追加/検索/削除/したいときに使用したいと思います。 。 価値。
したがって、代わりに:
私は言うことができます:
そしてもっと興味深いことに、マージとマージ-サポート付き。
clojure - Clojureレコードコンストラクターはファーストクラスではありませんか?
どうやら、レコード コンストラクターで apply を呼び出すことはできません。
Foo を想定していないため、読み取り時に失敗します。その場所で。
私が考えることができる唯一の明白な回避策は、ファクトリ関数を追加することでした:
もちろん適用できます。
何か不足していますか?これは C#/Java から期待できますが、Clojure では少しがっかりしたと思いました...
internet-explorer - clojure-clrを使用してInternetExplorerを自動化する方法は?
IEを使用してWebページを開き、clojure-clrからそのコンテンツを取得したいと思います。次のC#スニペットをclojureに変換しようとしましたが、使用するために必要なDLLをロードできませんでしたSHDocVw
(現在、clojureコードが手元にありません)。
clojureからIEにアクセスするにはどうすればよいですか?
.net - clojure-clr はどのくらい成熟していますか? Monoで使えますか?
clojure-clrはどのくらい成熟していますか? これは、clojure/jvm が提供するすべての機能をサポートしていますか? Mono で問題なく動作しますか?
clojure-clr を試してみたところ、REPL で問題なく動作するようです。しかし、 で例を実行しようとするとmono Clojure.Main.exe clojure/samples/ants.clj
、大量のエラー メッセージが表示されました。これは、Mono で clojure-clr を実行する際の問題ですか?