Any
の変数を反復処理できるかどうかをチェックする関数を作成します。Scala:任意の変数を繰り返し処理できるかどうかをテストします
def checkIterable(v: Any): Boolean = {
// match with something?
}
その後、私は好きでそれを使用することができるだろう:
if (checkIterable(something)) {
for (s <- something) {
// do something with each element s of something
}
}
これは(、タイプArray
、List
の変数のためにtrueを返しSeq
、およびIterable
、foreach
関数を定義し、基本的にあらゆる種類の必要があります唯一の方法でない限り、その機能の存在をテストする必要があるようには思われません...)
「Array」は「Iterable」ではないので、意味があります。たぶん、実際に何をしようとしているのかを、説明していれば、役に立たない解決策を記述することから始めれば、もっと助けになるかもしれません。 – Dima
それをチェックする1つの方法は、 'v.isInstanceOf [Iterable]'を使うことですが、@Dimaは言うように、あなたが何をしようとしているのかをもっと明示した方が良いでしょう。 – Eduardo
なぜあなたは最初に「Any」を持っていますか? – Ryan