0

Monocleを使用すると、Lens を定義してケース クラス メンバーを問題なく読み取ることができます。

    val md5Lens = GenLens[Message](_.md5)

これは、2 つのオブジェクト間の の値を比較するために使用できmd5ます。値が異なる場合、フィールド名を含むエラー メッセージで失敗します。

Lensレンズによって読み取られるフィールドを識別するだけで、ユーザーフレンドリーな文字列を生成する方法はありますか? フィールド名を明示的に指定することは避けたい

    val md5LensAndName = (GenLens[Message](_.md5), "md5")

複数のコンポーネントを備えたレンズでも機能するソリューションがあれば、さらに良い. 私にとっては、解決策が深さ 1 までしか機能しなかったとしても、それは良いことです。

4

1 に答える 1