Monocleを使用すると、Lens を定義してケース クラス メンバーを問題なく読み取ることができます。
val md5Lens = GenLens[Message](_.md5)
これは、2 つのオブジェクト間の の値を比較するために使用できmd5
ます。値が異なる場合、フィールド名を含むエラー メッセージで失敗します。
Lens
レンズによって読み取られるフィールドを識別するだけで、ユーザーフレンドリーな文字列を生成する方法はありますか? フィールド名を明示的に指定することは避けたい
val md5LensAndName = (GenLens[Message](_.md5), "md5")
複数のコンポーネントを備えたレンズでも機能するソリューションがあれば、さらに良い. 私にとっては、解決策が深さ 1 までしか機能しなかったとしても、それは良いことです。