我正在尝试将两个Option[Iterable[_]]合并成一个新的Option[Iterable[_]]。如果其中一个(或两个)元素是Some,我想返回Some,否则返回None。似乎应该有一种惯用的方式来做这件事,但我似乎找不到一种。下面的代码似乎做了我想要的,但并不是我所希望的灵巧的解决方案。) case (None, b @ Some(bs)) => b
case _ => None
我对总计签名有一个要求&引用透明的函数://requirement is type T under e.g. addition must always对于许多类型(如Int、String、Nat(自然数)),可以很容易地满足这一要求;但是,像NonZeroInt这样的类型也很容易违反,因为两个非零整数的加法实际上可以是零。我的问题是,这种情况是否有一个新的术语?莫尼特出现