[1,2,3,4,5,6]のようなフラットなリストが[{1,2}、{3,4のようになるようにフラットリストを2つのタプルのリストに素早く変換する方法はありますか}、{5,6}]?フラインリストをErlangの2タプルに変換する最も良い方法は?
これは動作しますが、それは単純に間違っを感じている:
tuples_from_flat_list(Target) ->
TargetWithIndex = lists:zip(lists:seq(1, length(Target)), Target),
{K, V} = lists:partition(fun({I, _}) -> I rem 2 == 1 end, TargetWithIndex),
lists:zipwith(fun({_, X}, {_, Y}) -> {X, Y} end, K, V).
はい、逆転と接頭辞は常に効率的です。しかし、私は "ストレート"アプローチがレッスン1としてうまくいき、レッスン2と同じように逆順/接頭辞がすぐに続くと思います。 –
もっと重要なエラーメッセージを表示しないときにリストの長さをカウントする理由あなたの逆/ 2はあなたの逆/ 1と同じエラーメッセージを発生させます。それは無駄な仕事であり、それを少し遅くする。 –
@Hynek:早く失敗するので、より良いと思います。また、コードを読むつもりの人に明快さを加える。 – zakovyrya