Clojure CLR で同等の C# コードを実行しようとしています
using System.Net;
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint remote = (EndPoint) sender;
recv = sock.ReceiveFrom(data, ref remote);
私がClojureで試したことはうまくいきません:
(let [
sender (IPEndPoint. (IPAddress/Any) 0)
^EndPoint remote ^EndPoint sender
recv (.ReceiveFrom sock data (by-ref remote))
]
(println (.ToString remote))
;; Do something with data...
)
0.0.0.0:0 が表示されるだけです。参照が機能していないと思いますが、ヒント/キャスト構文もわかりません。
ref https://github.com/richhickey/clojure-clr/wiki/CLR-Interopに関する情報については、こちらを参照してください。 型の指定についてはこちら: https://github.com/clojure/clojure-clr/wiki /指定型