2016-04-07 4 views
1

として得られるスカラ座、の変数の値を取得する方法:私は既存の変数を持っている変数の名前が文字列

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

:のような文字列として変数名を含むリストがあり

scala> a 
res69: Double = 5.0 

scala> b 
res70: Double = 10.0 

scala> c 
res71: Double = 15.0 

このリストの変数の値を取得する方法。質問の範囲は、次のような作品をScalaのREPLで定義された用語の値を取得するに限定されている場合

List(5.0, 10.0, 15.0) 
+1

Java/Scalaのリフレクション機能を見てきましたか? – pedrorijo91

答えて

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のinterpreter.IMainオブジェクトである私は、そのまま出力を期待しています。

+0

アプリケーションとして実行しているときに、それを行う方法はありますか? – vdep

関連する問題