Scala:如何制作多种方法并逐一应用它们?
我有一个列表:List("1", "2", "3")
和方法:
def concat(str: String)(tail: String): String = str + tail
我的目标是制作三种(想象的)方法:
concat(str: String)("1")
concat(str: String)("2")
concat(str: String)("3")
然后将这三种方法逐个应用于测试字符串“abc”:
然后我会得到结果:"abc123"
这样做的功能方法是什么?任何提示都表示赞赏。
答案 0 :(得分:4)
您不需要3种不同的方法。只需使用QMenu* menu = new QMenu();
QAction* newFile = new QAction;
newFile->setText("New File");
menu->addAction(newFile);
遍历您的列表并连续应用adaptIntegrate(function(x) {x[1]*x[2]},
lowerLimit = c(0,0),
upperLimit = c(x[2],1))$integral
方法:
fold
请注意,concat
只是以下的快捷方式:
val list = List("1", "2", "3")
def concat(str: String)(tail: String): String = str + tail
list.fold( "abc" )( concat(_)(_) )
// res1: String = abc123
如果您不熟悉fold( "abc" )( concat(_)(_) )
,请访问API doc