Я хочу написать функцию Scala, такую как
def functionA(objectMap:Map[String, ClassB], statements: List[String]): ClassB = {
var retObj = new ClassB
retObj = statements
return retObj
}
Входные данные этой функции:
1) objectMap (Map [String, ClassB)], то есть Map, имеющая objectIdentifier в качестве ключаи объект в качестве значения, например
Map[{"object1": An instance of class ClassB},
{"object2": An instance of class ClassB},
{"object3": An instance of class ClassB}]]
2) операторов (List [String]), который представляет собой Scala-код, полученный из конфигурации, такой как
val tmpOb1 = <object1>.join(<object2>)
val tmpOb2 = <object3>.sum(tmpOb1)
Теперь, что я хочу от функции A, этоанализировать операторы, заменять заполнители, такие как "<object*>"
, из реального объекта, взятого из objectMap, и выполнять операторы.
Как можно добиться того же?
Scala Version: 2.11
Spark: 2.2.1