scala - Option.zip returns List, not Option -
scala - Option.zip returns List, not Option -
standard library documentation describes zip
partial signature def zip[b](that: geniterable[b]): option[(a, b)]
some(1) zip some(2)
returns list((1,2))
not some((1,2))
. case of buggy implementation or buggy documentation?
buggy documentation.
zip
defined on iterable
, , it's applicable option
due implicit conversion option2iterable
(this explicitly stated in documentation if closely).
for reason option
first converted iterable
, zip
operation supported.
this done code reuse, misses case in iterable
methods create sense straight on option
without need of implicit conversion.
here's relevant give-and-take in mailing list: https://groups.google.com/forum/#!topic/scala-language/mfu5ppt_jyw
if need zip
2 options, can utilize workaround:
(opt1 zip opt2).headoption
also, travis noted in comments, alternatively leverage scalaz zip
type class, although have utilize fzip
instead.
opt1 fzip opt2
scala
Comments
Post a Comment