Skip to content

Latest commit

 

History

History
96 lines (56 loc) · 3.39 KB

moyo_cond.md

File metadata and controls

96 lines (56 loc) · 3.39 KB

Module moyo_cond

条件分岐処理関連のユーティリティ関数を提供するモジュール.

Copyright (c) 2013-2014 DWANGO Co., Ltd. All Rights Reserved.

Function Index

apply_if/3Conditiontrueの場合はThenFunが、falseの場合はElseFunが実行される.
apply_unless/2Conditionfalseの場合はThenFunが実行される.
apply_when/2Conditiontrueの場合はThenFunが実行される.
conditional/3三項演算子と同様の機能を提供する。Conditionがtrueなら2つ目の値が、falseなら3つ目の値が返る.
while/2Acc0Funの定義により処理してAcc1を返す。.

Function Details

apply_if/3


apply_if(Condition::boolean(), ThenFun, ElseFun) -> Result
  • ThenFun = fun(() -> Result)
  • ElseFun = fun(() -> Result)
  • Result = term()

Conditiontrueの場合はThenFunが、falseの場合はElseFunが実行される

apply_unless/2


apply_unless(Condition::boolean(), ThenFun) -> ok
  • ThenFun = fun(() -> any())

Conditionfalseの場合はThenFunが実行される

返り値は常にok

apply_when/2


apply_when(Condition::boolean(), ThenFun) -> ok
  • ThenFun = fun(() -> any())

Conditiontrueの場合はThenFunが実行される

返り値は常にok

conditional/3


conditional(Condition::boolean(), TValue::any(), FValue::any()) -> any()

三項演算子と同様の機能を提供する。Conditionがtrueなら2つ目の値が、falseなら3つ目の値が返る

while/2


while(Fun, Acc0) -> Acc1
  • Fun = fun((AccIn) -> {Continue::boolean(), AccOut})
  • Acc0 = AccIn
  • Acc1 = AccOut
  • AccIn = term()
  • AccOut = term()

Acc0Funの定義により処理してAcc1を返す。

Fun内の処理の結果が{true, AccOut}になると、AccOutFunの引数としてもう一度処理される。 結果が{false, AccOut}になると、AccOutを返す。

  > while(fun(X) when X >= 5 -> {false, X}; (X) -> {true, X + 1} end, 1).
  5
  > while(fun(X) when X < 2 -> {false, X}; (X) -> {true, X - 1} end, 10).
  1