Scala用のコレクション操作の拡張ライブラリsansyo(山椒)を作りました
タイトルの通り、Scala用のコレクション操作の拡張ライブラリを作りました。
名前はsansyoです。
意味としては、 「山椒は小粒でもぴりりと辛い」 から来ていて、コレクションの拡張ライブラリのため、小さいですが便利になるものとして作りました。
ライブラリのサイズとしても小さいので、気軽に入れてもらえるかと思います。
作成方針
方針としては、標準のScalaだけを使ってる人が簡単に導入できるように作りました。
また、implicit conversionで作っています。 objectの名前は ~Utilsなので一般的ですが、 implicit conversionで作っているため名前衝突はしないかなーと思っています。
機能
今すでに作っているものとしては3つです。 使い方の細かいところはQuickStartを見ていただければと思います。
emptyOrElse
OptionはgetOrElseがあるのですが、Seqはそれに当たるものがないため作りました。
partitionMap
partitionMapはpartitionをした後、分けたものに対して同じ処理を行うものです。
grouping
tupleのSeqをMapにするものです。 単純にgroupByをすると、Mapのvalue部分が元の配列のtupleになってしまうのですが、 結構元の配列を使うことが少なくて、tuple._2のほうが欲しいことが多くて、このメソッドを作りました。
まとめ
もし使ったり、プルリクなど送っていただけたら幸いです。