私が解決しようとしているCodilityのGenomicRangeQueryスカラ座と私は次の関数を書いたそのために使用した:Scalaは変換IndexedSeq [AnyVal] Arrayに[INT]
def solution(s: String, p: Array[Int], q: Array[Int]): Array[Int] = {
for (i <- p.indices) yield {
val gen = s.substring(p(i), q(i) + 1)
if (gen.contains('A')) 1
else if (gen.contains('C')) 2
else if (gen.contains('G')) 3
else if (gen.contains('T')) 4
}
}
を私は多くのテストを行っていないがしかし、それは問題を解決するようです。
私の問題はscala.collection.immutable.IndexedSeq[AnyVal]
を返しますが、関数はArray[Int]
を返さなければならないので、type mismatch error
を投げます。
補題をArray [Int]に戻す方法がありますか、IndexedSeq[AnyVal]
をArray[Int]
に変換する方法はありますか?
ありがとうございました。デフォルトのケースを追加する必要はありませんでした。 – Micho
"可能性のあるすべてのケースをキャッチしていないため、コンパイラの警告が明示的に表示されます。これは、 'sealed'型の値をマッチさせ、マッチ式内のガードを使用すると、この場合でも警告を無効にする場合にのみ発生します。 –
ああ、是非、訂正してくれてありがとう – Mycleung