シーケンスの要素のサブセットを選択するにはどうすればよいですか?例えばシーケンスの要素のサブセットを生成するScalaCheckジェネレータはどのように定義できますか?
、私はシーケンスSeq(1,2,3,4,5)
を持っていた場合、私は
Seq(1,4)
または
Seq(1,2,3,5)
または
Seq()
のようなものを生成するために、私の発電機への各呼び出しが欲しいですどのようにしてそのようなジェネレータを定義できますか?
シーケンスの要素のサブセットを選択するにはどうすればよいですか?例えばシーケンスの要素のサブセットを生成するScalaCheckジェネレータはどのように定義できますか?
、私はシーケンスSeq(1,2,3,4,5)
を持っていた場合、私は
Seq(1,4)
または
Seq(1,2,3,5)
または
Seq()
のようなものを生成するために、私の発電機への各呼び出しが欲しいですどのようにしてそのようなジェネレータを定義できますか?
org.scalacheck.Gen.someOf
はイテラブルから要素の乱数を選びジェネレータです:
scala> import org.scalacheck.Gen
import org.scalacheck.Gen
scala> val baseSeq = Seq(1, 2, 3, 4, 5)
baseSeq: Seq[Int] = List(1, 2, 3, 4, 5)
scala> val myGen = Gen.someOf(baseSeq).map(_.toSeq)
myGen: org.scalacheck.Gen[Seq[Int]] = [email protected]
scala> myGen.sample.head
res0: Seq[Int] = List(3, 4, 5)
scala> myGen.sample.head
res1: Seq[Int] = List(1, 2, 3, 4)
scala> myGen.sample.head
res2: Seq[Int] = List()
あなたが選択した 'Seq'はユニークな要素を持っていますか? – Jubobs
はい、それは私が心に留めていたものです –
はい、厳密な(適切な)サブセットではありません –