Re[16]: Ваше отношение к языку Scala
От: aka50 Россия  
Дата: 09.06.07 14:57
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Посмотри на код, генерируемый Scala и ужаснись.

Покажи... вот честно, интересно... а то пока только пугаешь (есть там конечно кривости, но как это сделать иначе я тоже не сильно представляю)

M>Или вот, пусть мне нужны параметры типов в рантайме. Чтоб я мог написать

M>List<String> ls = ...;
M>String[] arr = ls.toArray();
M>а не
M>String[] arr = ls.toArray(new String[ls.size()]);

Вообще-то разработчику vm должно быть стыдно, если он не знает почему именно требуется объект массива

на scala это решается безо всяких прыжков:

scala> val ls = 1 :: 2 :: Nil
ls: List[Int] = List(1, 2)

scala> ls.toArray
unnamed1: Array[Int] = [I@4854f6 << обрати внимание, что тут именно нейтив массив, а не boxed


Код в самой скала самый обычный:
override def toArray[B >: A]: Array[B] = {
   val result = new Array[B](size)
   copyToArray(result, 0)
   result
}


Другой вопрос, когда мы хотим что-то такое, но это уже спасибо блин erasure...
class MyType[T] {
  def oops = new T()
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.