0

配列にコピーしようとしましたが、2 つの (セット) パラメータを受け入れることができません

def subset(a:Set[Int],b:Set[Int]):Boolean={
    var x = new Array[Int](a.size)
    var y = new Array[Int](b.size) 
  }

または、2 つの配列をパラメーターとして受け取る方法を説明できますか?

def main(args: Array[String]): Unit = {
    val a =  Set(2,3,4,5,6)
    val b = Set(2,3,4,5)
    var x = new Array[Int](a.size)
    var y = new Array[Int](b.size)

x と y を関数サブセットに入れたいのですが、Set ではなく同じことをしたいです

4

1 に答える 1

0

またはに変換できSetます。ArrayArraySet

scala> val array = Array(1, 3, 5)
array: Array[Int] = Array(1, 3, 5)

scala> array.toSet
res0: scala.collection.immutable.Set[Int] = Set(1, 3, 5)

scala> val set = Set(7, 3, 8)
set: scala.collection.immutable.Set[Int] = Set(7, 3, 8)

scala> set.toArray
res1: Array[Int] = Array(7, 3, 8)

プログラムが s のコレクションをコマンドライン引数として取りたい場合はInt、文字列をパースする必要があります:

object Test extends App {
  val x: Array[Int] = args(0).split(",").map{ _.toInt }
  val y: Array[Int] = args(1).split(",").map{ _.toInt }
  println("x: " + x.mkString("Array(", ", ", ")"))
  println("y: " + y.mkString("Array(", ", ", ")"))
}

使用法:

>scala Test "1,2,3" "10,0,-5"
x: Array(1, 2, 3)
y: Array(10, 0, -5)
于 2013-02-13T07:54:55.633 に答える