Моя попытка ниже не работает:Возможно ли использование без объекта бесформенного.Poly1, который работает с Везде?
class Absolute(rootDir: File) extends Poly1 {
implicit def caseFile[F <: File]: Case[F] { type Result = File } = at[F] { f =>
if (f.isAbsolute)
f
else
val parts =
file.getPath.split(Pattern.quote(File.separator)).toList.filterNot(Set("", "."))
parts match {
case ":root-dir" :: tail => tail.foldLeft(rootDir)(new File(_, _))
case ":home" :: tail => tail.foldLeft(new File(sys.props("user.home")))(new File(_, _))
case _ => f
}
}
}
object Absolutised {
def from(rootDir: File) = new Runner(new Absolute(rootDir))
final class Runner(absolute: Absolute) {
def apply[T](t: T)(implicit everywhere: Everywhere[absolute.type, T]) = everywhere(t)
}
}
Вы видели [эту тему] (https://groups.google.com/d/msg/shapeless-dev/P5DXRgnzqkY/E76joeGZyqAJ)? –
Нет, я не смог найти это. Спасибо Трэвису. –
Извините, что это не лучшие новости ... :( –