2016-10-13 8 views
-2

から来る何ケースクラスを初期化するためにタプルを使用するが、それは動作しませんどのように、私を助けてください:約私は反射から来たものを初期化ケースクラスの中でのタプルを使用する反射

case class kof(argv1:String,argv2:String) 

var kof=Class.forName("kof") 
val ru = scala.reflect.runtime.universe 
val m = ru.runtimeMirror(getClass.getClassLoader) 
val classPerson = ru.typeOf[kof].typeSymbol.asClass 
val cm = m.reflectClass(classPerson) 
val ctor = ru.typeOf[kof].declaration(ru.nme.CONSTRUCTOR).asMethod 
val ctorm = cm.reflectConstructor(ctor) 
var sss=("22","ad") 
val p = ctorm.tupled(sss)<!- here what I want to ask, please answer me as soon as possible, thank you!-> 
print (p) 
+1

私はあなたが緊急の回答を得るためにツイッターでクロス投稿する必要があると思います。 –

答えて

1

scala> ctorm(sss.productIterator.toSeq: _*) 
res3: Any = kof(22,ad) 
+0

私は試してみますが、うまくいきません。 – Kof

+0

@Kofそれはうまくいきます。どのようなエラーに直面していますか? – maasg

+0

OK。それは仕事です。しかし、sssはFUNCから来ています、それは仕事ではありません。 – Kof