簡単な質問ですが、Googleから回答を得ることができません。私は過去に、case class
があなたに与えるさまざまなことをオプトインできるようにマクロを書いたことを見てきましたが、case
キーワードの代わりにに@data
マクロ注釈を追加すると得られます。どのようなプロジェクトですか?@dataマクロはどのScalaプロジェクトで提供されていますか?
答えて
私はそれがわからない@data class
。そして、私はそれをする人を想像することはできません、ケースクラス以上の利点はありません。あなたはより多く入力する必要があり、私はあなたが(それはJavaに意図されていますが、おそらく、Scalaの上で使用することができます)ロンボクを投影する参照していると思いますいくつかのlib
上でネイティブ実装で、より信頼う:https://projectlombok.org/features/Data.html
はまた、Kotlinは、代わりにcase class
のdata class
があります:https://kotlinlang.org/docs/reference/data-classes.html
考え方は、 'case'キーワードの" take it or leave it "アプローチではなく、' case class'のどの機能を選択するかということです。たとえば、デフォルトの 'apply'が必要ない場合に便利ですが、残りの動作が必要な場合などです。 – acjay
私は、これはScalaのマクロに関するワークショップの一環だったと思います。 Scalaの世界2016トーク
行使材料「Scalaのコンパイラプラグインのリターン」
https://github.com/fommil/scala-compiler-plugin
このプロジェクトは含まれてい@data
いくつかの保留とサム・ハリディによって書かれたケースクラスを、シミュレートするマクロEugene Burmakoによるプルリクエスト
- 1. MSCVR100D.DLLデバッグシンボルはどのパッケージで提供されていますか?
- 2. Jenkins Mavenプロジェクトこの環境ではコンパイラは提供されていません
- 3. Git for Windowsのbashで使用されている端末エミュレータを提供するプロジェクトはどれですか?
- 4. JPAはEclipseLinkからどのプロバイダに提供されますか?
- 5. 私のプロジェクトでgithubで提供されているjsコードの使い方
- 6. GDBのどのバージョンでgdb.printing Pythonモジュールが提供されていますか?
- 7. C#generics、GetProcessesはどこから提供されますか?
- 8. どのプロトコルがExpressアプリケーションから提供されていますか?
- 9. 私はspring-data-rest GETと並行してエンドポイントを提供できますか?
- 10. ツイストウェブサービス提供Djangoプロジェクト
- 11. Scalaを使ってPlay!2にアップロードされたファイルを提供するには?
- 12. GAEインスタンスが別のURLで提供されています
- 13. myBatisはrefreshAndLockなどのメソッドを提供していますか?
- 14. Javaはどのカプセル化メカニズムを提供していますか?
- 15. Apache:RubyプロジェクトをPHPプロジェクトのサブディレクトリとして提供するには?
- 16. ワイルドカードクエリに提供されるテキストは分析されていますか?
- 17. intellij - 作成するScalaプロジェクト、Scala-Scala、Scala-SBTはどれですか?
- 18. Minecraftのオーバーワールドで提供されているエンドチャンクをシミュレートするにはどうすればいいですか
- 19. DevToolプロトコルによって提供される `resourceType`値はどのように定義されていますか?
- 20. 角2 RuntimeCompiler:XHRの実装は提供されていません
- 21. ログインプラットフォームまたはデバイスに応じてトークンが提供されていますか?
- 22. フラスコとスタティックファイルがmod_wsgで提供されています。
- 23. アプリ内通話でコールバックテストが提供されています
- 24. JavaのScalaマクロに似ています
- 25. Midjeの事実に「提供された」ものはどのように実装されていますか?
- 26. 角度2レンダラーはいつ提供されますか?
- 27. アプリケーションサーバーは、提供できるSpringを提供しますか?
- 28. 必要な偽装レベルが提供されていないか、または提供されている偽装レベルが無効です
- 29. 現在提供されているAndroidエミュレータはセンサをシミュレートできますか?
- 30. 私のMavenプロジェクトで提供されているすべてのWildflyライブラリをインポートするには?
私はScala gitterチャンネルに行き、そこでこの質問をします。あなたがオフサイトのリソースを見つけるように誰かに依頼しているので、それは話題にはなりません。 – wheaties