передайте переменное количество аргументов в scala (2.8) класс случая для порождения конструктора

Я посмотрел на это вначале в создании Переполнения стека и не мог найти никакой метод создания скругленных углов, которые не оставили меня чувствующий, что я просто шел через коллектор.

CSS3 действительно наконец определяет

border-radius:

, Который является точно, как Вы хотели бы, чтобы он работал. Хотя это работает хорошо в последних версиях Safari и Firefox, но нисколько в IE7 (и я не думаю в IE8), или Opera.

Тем временем, это - взломы полностью вниз. Я интересуюсь слушанием, что думают другие люди, самый чистый способ сделать это через IE7, FF2/3, Safari3 и Opera 9.5 в данный момент..

9
задан outis 10 April 2010 в 22:11
поделиться

2 ответа

Это работает с 2.7:

abstract case class A(val a: String*)
case class B(val b: String*) extends A(b:_*)

Должно работать с 2.8.

8
ответ дан 4 December 2019 в 07:47
поделиться

Вам необходимо использовать : _ * синтаксис, который означает «рассматривать эту последовательность как последовательность» ! В противном случае ваша последовательность из n элементов будет рассматриваться как последовательность из 1 элемента (которая будет вашей последовательностью из n элементов).

def funcWhichTakesSeq(seq: Any*) = println(seq.length + ": " + seq)

val seq = List(1, 2, 3)
funcWhichTakesSeq(seq)      //1: Array(List(1, 2, 3)) -i.e. a Seq with one entry
funcWhichTakesSeq(seq: _*)  //3: List(1, 2, 3)
20
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: