String/Arrayオブジェクトに対してfoldLeftメソッドを呼び出そうとしています。ような何か:スカラは文字列と配列の両方に一致します
def doSth(obj: Any): Int = {
obj match {
case t: TraversableOnce[Any] => t.foldLeft(0)((rs: Int, i: Any) => ...)
case other => ...
}
}
が、私はdoSth("abc")
を呼び出すとき、それはcase other
と一致します。私が欲しいのはcase t: TraversableOnce[Any]
です。
どうすればよいですか?
もちろん、 'Array'は' TraversableOnce'でもなく、 'String'のように変換することができます。 –