Я бы хотел использовать бесформенные линзы для доступа к значению поля класса дела по определению String.
Я знаю, что этот код работает.
case class Test(id: String, calc: Long)
val instance = Test("123232", 3434L)
val lens = lens[Test] >> 'id
val valueOfFieldId = lens.get(instance)
Но что я пытаюсь сделатьis:
val fieldName = "id"
val lens = lens[Test] >> fieldName.witness
//I typed .witness because it was expecting a witness (if I am not wrong)
val valueOfFieldId = lens.get(instance)
Но с этим кодом я получаю эту ошибку.
Не удалось найти неявное значение для параметра mkLens: shapeless.MkFieldLens [A $ A148.this.Test, A$ A148.this.str.type] def get $$ instance $$ lll = lll; / * ### лист ### создан $$ end $$ * / lazy val lens = lens [Test] >> str.witness
Можно ли получить значение поля класса case с определением String?
Спасибо.