我想编写一个函数,它接受一个序列列表,其中每个序列都将用于理解表达式。
例如。
for (x <- (1 to 10); y <- (1 to 10)) yield List(x,y)
在上面的表达式中,我必须事先知道我想要 x 和 y 的组合。如果我想要 x、y、z ...等的组合(未知数量的组合)怎么办?如果我想要 10 个组合,我想将 10 个片段“x <- (1 to 10)”粘贴到表达式中。我想我可以用 Clojure 中的宏(一种粘贴代码的方法)来做到这一点。我怎样才能在 Scala 中做到这一点?
我想写的函数有这样的签名:
combine(list: List[List[Int]])
函数的主体将使用列表中的每个项目粘贴到 for comprehension 中。
希望你明白我的意图。