私はfoldlから壊す必要があります。ここで私は、この例では、人工的である知っているが、抜け出すための任意の素敵な方法がありますfoldlを壊す簡単な方法
L = [1,2,3,4,10,5,6,7],
Res =
try
lists:foldl(
fun(I, Value) ->
if (I < 10) ->
Value + I;
true ->
throw({too_big_value, Value})
end
end,
0, L)
catch
throw:{too_big_value, Value} -> Value
end,
Res.
(すなわち10)私は、リスト内の値の合計を数える際倍から壊れ、あまりにも大きな値を満たすためにどのようにダミーの例ですフォールド(私は倍が常に構造全体をスキャンすることを知っています)?
私は折りたたみから壊れても正しいデータを取得する必要があることに注意してください。この場合、以前の反復からデータを取得する必要があります(これは私の例で行ったとおりです)。
あなたは「私は倍から壊れた場合でも、正しいデータを取得する必要がある」とはどういう意味ですか?スローに加えられた変更を含むリストが必要ですか? – Isac