У меня проблема с сортировкой двух связанных, но отдельных списков списков кортежей. Один список состоит из списков кортежей, представляющих сообщение в блоге. Другой список состоит из списков кортежей, представляющих комментарий.Erlang: функция сортировки или упорядочения списков списков сортиментов
Проблема в том, что вам нужен тот же заказ, что и на значение id блога. Списки для сообщений в блогах сортируются по значению даты. Так что вы не можете просто отсортировать численно с помощью блога id для блога и комментария. И вы, , не можете просто сортировать сообщение для комментариев через значение даты, потому что значения даты блога и связанного комментария могут отличаться.
Я не уверен, как подойти к проблеме - по крайней мере, не изящно.
Должен ли я использовать lists:nth и, следовательно, получить каждый список кортежей и значение позиции? Тогда я получаю значение id блога, Тогда я бы поискал в списке для комментариев сообщений для этого id. Получите значение этого списка кортежей. Свяжите значение этого списка кортежей в новом списке с соответствующим значением n-й позиции.
Должен ли я использовать функцию lists:sort?
Любые предложения с образцами кода, которые были высоко оценены.
Вот два примера списков списков кортежей, которые могут быть использованы в качестве основы:
[[{<<"blog_id">>,<<"a2">>},
{<<"postDate">>,<<"2010-12-4T6:10:12">>},
{<<"message">>,<<"la di da bo di do">>}],
[{<<"blog_id">>,<<"b8">>},
{<<"postDate">>,<<"2009-12-3T10:09:33">>},
{<<"message">>,<<"that is cool">>}],
[{<<"blog_id">>,<<"a9">>},
{<<"postDate">>,<<"2009-12-2T18:12:29">>},
{<<"message">>,<<"i like san francisco">>}]]
[[{<<"comment_id">>,<<"n6">>},
{<<"related_blog_id">>,<<"b8">>},
{<<"postDate">>,<<"2010-12-5T15:10:12">>},
{<<"message">>,<<"yup really neat">>}],
[{<<"comment_id">>,<<"y2">>},
{<<"related_blog_id">>,<<"a9">>},
{<<"postDate">>,<<"2009-12-6T10:09:33">>},
{<<"message">>,<<"yes but rent is expensive">>}],
[{<<"comment_id">>,<<"x4">>},
{<<"related_blog_id">>,<<"a2">>},
{<<"postDate">>,<<"2009-12-5T16:12:29">>},
{<<"message">>,<<"sounds like a hit">>}]]
и желаемого выхода заключается в следующем с первым списком без изменений и второго список переупорядоченный:
[[{<<"blog_id">>,<<"a2">>},
{<<"postDate">>,<<"2010-12-4T6:10:12">>},
{<<"message">>,<<"la di da bo di do">>}],
[{<<"blog_id">>,<<"b8">>},
{<<"postDate">>,<<"2009-12-3T10:09:33">>},
{<<"message">>,<<"that is cool">>}],
[{<<"blog_id">>,<<"a9">>},
{<<"postDate">>,<<"2009-12-2T18:12:29">>},
{<<"message">>,<<"i like san francisco">>}]]
[ [{<<"comment_id">>,<<"x4">>},
{<<"related_blog_id">>,<<"a2">>},
{<<"postDate">>,<<"2009-12-5T16:12:29">>},
{<<"message">>,<<"sounds like a hit">>}],
[{<<"comment_id">>,<<"n6">>},
{<<"related_blog_id">>,<<"b8">>},
{<<"postDate">>,<<"2010-12-5T15:10:12">>},
{<<"message">>,<<"yup really neat">>}],
[{<<"comment_id">>,<<"y2">>},
{<<"related_blog_id">>,<<"a9">>},
{<<"postDate">>,<<"2009-12-6T10:09:33">>},
{<<"message">>,<<"yes but rent is expensive">>}]]
спасибо за сообщение, но на самом деле сортировка по блогу id не значение даты. комментарий, основанный на старшем сообщении в блоге, может быть более поздним, чем комментарий в новом сообщении в блоге. и не может сортировать идентификатор блога численно, что я считаю списком: сортировка ограничена? – 2010-12-07 19:02:02