我必须写一个方法,“所有()”,它返回一个元组列表; 每个元组将包含行,列和设置相关的特定定的行和列,当函数列表中的满足0。 我已经写了“HYP”函数返回集合一部分,我需要,例如:集(1,2)。 我使用列表的列表:
| 0 | 0 | 9 |
| 0 | x | 0 |
| 7 | 0 | 8 |
如果集(1,2)指的是标为X的电池,所有的()应该返回:(1,1,组(1,2)),其中1,1是行和列的索引。
我用zipWithIndex写了这个方法,但我不能使用此功能。 有没有简单的方法如何访问索引在这种情况下? 提前致谢
码:
def all(): List[(Int, Int, Set[Int])] =
{
puzzle.list.zipWithIndex flatMap
{
rowAndIndex =>
rowAndIndex._1.zipWithIndex.withFilter(_._1 == 0) map
{
colAndIndex =>
(rowAndIndex._2, colAndIndex._2, hyp(rowAndIndex._2, colAndIndex._2))
}
}
}
所述(1 _._ == 0)是因为该函数具有返回(INT,INT,设置()),只有当它在网格找到0