2016-04-07 11 views
1

olarak elde edilir Scala, değişkenlerin değerini almak için:i varolan değişkenleri sahip değişkenin adı dizesi

scala> val variableList = List("a","b","c") 
variableList: List[String] = List(a, b, c) 

: gibi dize olarak değişken adlarını içeren bir listesi vardır

scala> a 
res69: Double = 5.0 

scala> b 
res70: Double = 10.0 

scala> c 
res71: Double = 15.0 

Bu listedeki değişkenlerin değerleri nasıl alınır. Sorunun kapsamı, aşağıdaki işleri scala Repl tanımlanan terimlerin değerlerini almak için sınırlı ise

List(5.0, 10.0, 15.0) 
+1

Java/Scala yansıma özelliklerine baktınız mı? – pedrorijo91

cevap

3

:

> val a = 5.0 
> val b = 10.0 
> val c = 15.0 
> val variableList = List("a", "b", "c") 
> variableList.map(v => $intp.valueOfTerm(v).getOrElse("Undefined: " + v)) 
// List[AnyRef] = List(5.0, 10.0, 15.0) 

$ intp Repl en interpreter.IMain nesnesidir ben çıkışını bekliyorum.

+0

Bir uygulama olarak çalışırken, bunu yapmanın bir yolu var mı? – vdep

İlgili konular