2

Scala を使用して Udacity の CS212 を処理しようとしていますが、ゼブラ パズルに問題がありました。

Python の概念のいくつかは、特に私のような初心者にとっては、簡単に Scala に変換することはできません。

python コードの SS

これらは私がこれまでに管理したコードです。

  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
  }

the houses = [first, _, middle, _. _] = [1, 2, 3, 4, 5]私を困惑させた。for (red, green, ivory, yellow, blue) in orderingsさらに、 Scalaで をどのように表現すればよいでしょうか。助けてください、ありがとう。

4

1 に答える 1

6

あなたがしたい

val houses = List(1, 2, 3, 4, 5)
val List(first, _, middle, _, _) = houses

for (List(red, green, ivory, yellow, blue) <- orderings)

それぞれ。また、Scala では、これらの種類の構造化を小文字で始まる変数に割り当てる必要があることに注意してください。大文字は、代わりに既存の変数に一致することになっていることを示します (一致しない場合は例外をスローします!)。

于 2012-12-30T12:18:05.817 に答える