【发布时间】:2015-12-12 06:38:19
【问题描述】:
我有以下类型:A、B 和C,所以B <: A 和C <: A
我需要得到像这样工作的Iterator[A]:
如果当前值为
B类型,则返回B如果当前值的类型为
C,则调用函数parse(c: C) : Iterator[B],然后使用此迭代器直到它耗尽。然后继续使用“父”迭代器中的值。
在 Scala 中最好的方法是什么?
【问题讨论】:
-
我们是否应该假定如果该值是类型
A但不是B或C,那么该值应该被丢弃?还是你很高兴它抛出 MatchError 让你捕捉?
标签: scala collections iterator flatten