我试着用Scala来完成Udacity的CS212,但是斑马拼图有问题,
python中的一些概念很难转换成Scala,特别是对于像我这样的初学者。
这些是我到目前为止管理的代码,
val houses = List(1, 2, 3, 4, 5)
val orderings = houses.permutations
def imright(h1: Int, h2: Int): Boolean = {
if (h1 - h2 == 1) true
else false
}
def nextto(h1: Int, h2: Int): Boolean = {
if (math.abs(h1 - h2) == 1) true
else false
}
我被难住了。
此外,如何在Scala中表示
the houses = [first, _, middle, _. _] = [1, 2, 3, 4, 5]
?请帮帮我,谢谢。 最佳答案
你想要的
val houses = List(1, 2, 3, 4, 5)
val List(first, _, middle, _, _) = houses
和
for (List(red, green, ivory, yellow, blue) <- orderings)
分别是。此外,请注意,在Scala中,这些类型的破坏必须从一个小写字母开始分配给变量;大写字母表示它应该匹配一个现有变量(或者如果它不存在则抛出异常)。.
关于python - 斯卡拉的斑马拼图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14090600/