У меня есть код Scala, который довольно сильно использует обобщения, и я почерпнул из документов, что использование манифеста в ограничениях параметризации может помочь мне решить проблемы стирания типа (например, я хочу создать экземпляр нового объект родового типа). Только, я хотел бы больше узнать о том, как это работает. Он почти чувствует, как какой-то хэш файл, который получает запись для каждого сайта-призыва... Может ли кто-нибудь здесь разработать?
class Image[T <: Pixel[T] : Manifest](fun() => T, size: Array[Int], data: Array[T]) {
def this(fun: () => T, size: Array[T]) {
this(fun, size, new Array[T](size(0) * size(1));
}
}
Это то, что, похоже, не рассматривается в какой-либо документации, которую я нашел на сайте, а в Google я в основном получаю более старые сообщения с очень разным синтаксисом, а с 2.8, похоже, много чего изменен, я не уверен, что они все еще точны.