リファレンス‎ > ‎blanka\basis‎ > ‎

blanka\basis\Maybe

概要

存在するかもしれない値を表現するのに使われる抽象クラスである。
具体的には、配列からの値の取り出しなどの失敗するかもしれない処理の返り値などに利用される。
これの具象クラスはblanka\basis\Just, blanka\basis\Noneクラスであり、なんらかの値を持っている場合をJustが, 失敗した場合をNoneが扱う。
この型はBlankaフレームワークにおいて頻繁に利用さ れる。
IteratorAggregateインターフェイスを実装している。
このクラスはhaskellのMaybeモナドやscalaのOptionクラスを参考にして作られた。

目次

  • Maybe->get() -値があればその値を返し、そうでない場合引数の値をそのまま返す
  • Maybe->map() - 与えられたコールバックで値を加工する
  • Maybe->filter() - 具象クラスがJustである場合、コールバックを実行し、その結果によってJustかNoneを返す。
  • Maybe->each() - 具象クラスがJustである場合、引数に内部の値を与えてコールバックを実行する
  • Maybe->flatMap() - 具象クラスがJustである場合に、与えられたコールバックを実行し、その結果を返す。コールバックはMaybe型を返す必要がある
  • Maybe->getOrElse() - 具象クラスがJustである場合には持っている値を返し、そうでない場合は与えられたコールバックを実行しその結果を返す
  • Maybe->orElse() - 具象クラスがNoneである場合に与えられた
  • Maybe->isDefined() - 値を持っているかどうかを返す
  • Maybe->isEmpty() - 空かどうかを返す
  • Maybe->getIterator() - 具象クラスがJustであれば値が一つ入ったイテレータを返し、そうでなければ空のイテレータを返す
  • Maybe::let() - パラメータとコールバックを引数に取り、それに応じてMaybeいんすたんすインスタンスを返す

ソースコード