【发布时间】:2018-02-02 22:21:18
【问题描述】:
我对 scala 很陌生。
我正在使用 rscala 与 R 函数集成。 例如,我正在使用以下方法调用 R 函数并检索字符串值。
方法签名:
def invokeS0(function: Reference, args: Any*): String
方法实现
val v= rc.invokeS0("doPred","lemmas"->"Communicate,Design,Java,","frequency"->"3,3,1")
我的问题
但是,rc.invokeS0 可以调用任何函数,因此具有任意数量的参数。
我正在考虑构建一个包装器方法,该方法将函数名作为字符串,将参数作为映射。也许是这样的:
private def invokeRStringFunction(functionName: String = "testFunction", args: Map[String,String]): Unit =
{
/**Iterate through map to generate following code*/
val v= rc.invokeS0(functionName,mapKey1->mapValue1,mapKey2->mapValue2 etc etc)
}
但鉴于参数的数量是动态的,我不确定如何编写代码。坦率地说,我不确定这是否可能,但我想我会检查一下,以防万一。
任何提示将不胜感激。
【问题讨论】:
标签: scala