FoldWhile
FoldWhile[f,x,{a1,a2,…},test,m]
直近の m 個の結果を各ステップにおける test についての引数として返す.
FoldWhile[f,x,{a1,a2,…},test,m,n]
test が失敗した後で f を余分に n 回適用した後の結果を返す.
FoldWhile[f,x,{a1,a2,…},test,m,-n]
f を n 回少なく適用して求まった結果を返す.
詳細
- FoldWhile[f,x,{a1,a2,…},test]はFoldWhileList[f,x,{a1,a2,…},test]の最終要素を返す.
- FoldWhile[f,x,alist,test]は,test[x]がTrueを返さない場合は x を返す.
- FoldWhile[f,x,alist,test]はFoldWhile[f,x,alist,test,1]と等価である.
- FoldWhile[f,x,alist,test,m]はFoldWhile[f,x,alist,test,m,0]と等価である.
- FoldWhile[f,x,alist,UnsameQ,All]は,同じ結果が2回以上現れるまで f を適用し続ける.
- Throwを使って終了前にFoldWhileから脱出することができる.
- FoldWhile[f,test][list]はFoldWhile[f,list,test]と等価である.
- FoldWhile[f,test][x,list]はFoldWhile[f,x,list,test]と等価である.
例題
すべて開くすべて閉じる例 (3)
スコープ (9)
12から整数を引いていく.整数は1から始めて順に1ずつ大きくし,答が正の間これを続ける:
Echoを使って中間結果を表示する:
原点から始まるランダムウォークを計算し,ノルムが10を超える最初の点を返す:
ランダムな単位ベクトルリストについて,ノルムが0.1より大きいCross(外積)を求める:
機械演算の連続する2つの結果に対してUnequalがFalseを返すまで1/n8項を足し続ける:
すべての結果が異なる限り0にランダムな整数を加え,繰り返された最初の値を返す:
連続する正の整数で5!を割り続け,整数ではなくなった最初の結果を返す:
FoldWhileの演算子形を使う:
FoldWhileには,第3および第4引数が明示的な整数の場合は3引数または4引数の演算子形がある:
テキスト
Wolfram Research (2020), FoldWhile, Wolfram言語関数, https://reference.wolfram.com/language/ref/FoldWhile.html.
CMS
Wolfram Language. 2020. "FoldWhile." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FoldWhile.html.
APA
Wolfram Language. (2020). FoldWhile. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FoldWhile.html