問題タブ [scala-reflect]
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.
android - sbt-android: Android で scala-reflect を使用できません: java.rmi.Remote が見つかりません
Android 開発に scala-reflect パッケージを使用しようとしています。build.sbt に scala-reflect 依存関係を追加しました。
しかし、例外があります:
の Java ソースを追加してプロジェクトをビルドしようjava.rmi.Remote
としましたが(sbt が dexCoreLibrary オプションを見つけられなかったため)、正常にビルドされましたが、実行時エラーが発生しました。java.rmi.RemoteException
android:package --core-library
そうでなければ、scala.reflect がそれを使用できるように、java.rmi 依存関係を追加することは可能ですか?
メソッド Option.orDefault の実装のコンテキストで scala.reflect ライブラリを使用しています。
Option.orDefault のより良い実装 (おそらく scala.reflect なし) を知っている場合は、お知らせください。
scala - オブジェクト thrift によって生成されたメソッド パラメータを含む不正な循環参照
リサイクル サービス エンドポイントのパラメーターのすべてのメンバーを一覧表示しようとしています。
それから私は得たillegal cyclic reference involving object method_args
これは、method_args が MyService 内の静的クラスだからでしょうか。特別な入手方法はありますか?試してみval paramsClass = mirror.staticClass("mytest.thrift.MyService$method_args")
ましたが、すぐに同じエラーが発生します。
誰でもこれを解決する方法を提案できますか?
scala - 「reify」に似た Tree に評価される Scala マクロの書き方
Tree
プログラム スニペットをキャプチャし、実行時に使用できるようにするマクロを作成したいと考えています。基本的に、の機能が必要ですreify
が、別の構文に埋め込んでいます。コンパニオン オブジェクトを呼び出しapply
、いくつかのコードを提供し、提供されたコードを新しく作成された Workload オブジェクトのメンバーに格納したいと考えています。Workload
Tree
残念ながら、reify
マクロなので転送できません。に似た独自のマクロを作成する必要があると思いreify
ます。Tree
しかし、マクロから aを返す方法がわかりません。ソースにreify
は、ハードワイヤードな実装が言及されているだけです。
これはどのように達成できますか?
アップデート
私の要点を強調するために小さな例を書きました
欠けている唯一のものは、に変わる方法expr
ですc.Expr[Expr[Unit]]
scala - ToolBox から解析されたパッケージ内のコードをタイプチェックするために Scala リフレクションを使用するにはどうすればよいですか?
次の簡単な例 (Scala 2.11.8 で実行):
toolbox.typecheck(tree)
行で次の例外が発生します。
型チェックされた AST ツリーを取得するにはどうすればよいですか??
scala - コンパイル時にパッケージ内のクラスを一覧表示する
コンパイル時にパッケージ内のすべてのクラスをリストしようとしています。
次の構造を持つプロジェクトを定義しましょう。
どこ:
Method.scala
Method1.scala と Method2.scala (それぞれの名前を変更)
Main.scala から com.package._ で定義されているクラスのリストを次のように取得したいと考えています。
(表示されているように) 名前をハードコードすることはできましたが、コンパイル時にこれらの名前を取得できるかどうか疑問に思っていました。実行時にhttp://software.clapper.org/classutil/を使用できることを知っています