Здравствуйте, Курилка, Вы писали: К>Вот и получаем, что "упираемся" по сути в .Net и ООП идеологию. На первый вопрос у тебя нет ответа?
Какой? Про неймспейс? Это недоработка языка. В следующем шарпе ея поправят. Будешь себе писать apples.Sort(appleComparer) и в ус не дуть. А то и вовсе apples.SortBy(apple => apple.Color);
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Какой? Про неймспейс? Это недоработка языка. В следующем шарпе ея поправят. Будешь себе писать apples.Sort(appleComparer) и в ус не дуть. А то и вовсе apples.SortBy(apple => apple.Color);
Сенкс, правда на шарпе писать не уверен, что буду.
Плюс довольно странная с логической т.зр. сортировка (по меньшей мере для меня) — вот ты с ходу ответишь какой цвет больше пурпурный или оранжевый?
Т.е. не вижу как построить для цветов отношение порядка, чтоб оно было понятным человеку и непротиворечивым.
Здравствуйте, Курилка, Вы писали:
К>Сенкс, правда на шарпе писать не уверен, что буду.
Никто и не навязывает. К>Плюс довольно странная с логической т.зр. сортировка (по меньшей мере для меня) — вот ты с ходу ответишь какой цвет больше пурпурный или оранжевый?
Это неважно. Не я придумал сортировать яблоки — не мне и критерий изобретать. Может, там червивость роль играет.
Главная идея OrderBy().ThenBy() — в том, что вместо функции, отображающей пару объектов на {-1, 0, 1}, используется функция, отображающая объект в ключ сортировки (предполагается, что для ключа компаратор уже существует). Иногда проще написать одно, иногда — другое.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Ну эт всё ясно.
У меня вот к этому был вопрос/претензия:
К>+ зачем мне отдельный класс и инстанс компарера?
Как зачем? Для того, чтобы иметь возможность иметь разные компараторы. Разные инстансы могут иметь разное состояние, которое определяет их поведение.
Откуда в компараторе состояние? Если этим ты описываешь какие-то параметры сортировки, то ещё понятно.
Но это состоянием не будет, а правильней было бы только в конструкторе реализовывать, чтоб гарантировать иммутабельность компаратора.
Иначе работа сортировки будет зависеть от алгоритма сортировки, думаю, сам понимаешь, что такие эффекты "чреваты боком".
Здравствуйте, Курилка, Вы писали:
К>Плюс довольно странная с логической т.зр. сортировка (по меньшей мере для меня) — вот ты с ходу ответишь какой цвет больше пурпурный или оранжевый? К>Т.е. не вижу как построить для цветов отношение порядка, чтоб оно было понятным человеку и непротиворечивым.
ОФФТОП: Например, есть понятие "цветовой температуры", т.е. до какой температуры надо разогреть тело, чтобы оно светилось данным цветом. Используется в некотрых областях и при определенном навыке становится понятным и непротиворечивым
Здравствуйте, fmiracle, Вы писали:
F>Здравствуйте, Курилка, Вы писали:
К>>Т.е. не вижу как построить для цветов отношение порядка, чтоб оно было понятным человеку и непротиворечивым.
F>ОФФТОП: Например, есть понятие "цветовой температуры", т.е. до какой температуры надо разогреть тело, чтобы оно светилось данным цветом. Используется в некотрых областях и при определенном навыке становится понятным и непротиворечивым
Ну для каких-нибудь физиков плазмы и чего-нибудь подобного это будет логично, но вот обычным людям это будет далеко не близко
Плюс что-то читал по поводу, что пурпурного цвета в спектре нет и он получается смешением цветов из разных участков. (Фактически наш мозг что-то такое делает, уже не помню чётко подробности)
Но, блин, хватит уже оффтопить
Здравствуйте, Курилка, Вы писали: К>Откуда в компараторе состояние? Если этим ты описываешь какие-то параметры сортировки, то ещё понятно.
Ага. К>Но это состоянием не будет, а правильней было бы только в конструкторе реализовывать, чтоб гарантировать иммутабельность компаратора.
Ну, это конечно можно. Но я не уверен, что компаратор обязательно должен быть иммутабельным. В процессе сортировки его неизменность обеспечивается отсутствием меняющих состояние методов в его интерфейсе. Но совершенно необязательно требовать, чтобы компаратор в течение всего времени жизни был иммутабельным.
К>Иначе работа сортировки будет зависеть от алгоритма сортировки, думаю, сам понимаешь, что такие эффекты "чреваты боком".
Гм. Работа сортировки и так зависит от алгоритма сортировки.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
К>>Иначе работа сортировки будет зависеть от алгоритма сортировки, думаю, сам понимаешь, что такие эффекты "чреваты боком". S>Гм. Работа сортировки и так зависит от алгоритма сортировки.
Ты имеешь в виду порядок элементов которые согласно компаратору равны? Ну это само собой.
Я же про другое — когда результат компаратора будет зависеть от меняющегося состояния (зависимого от предыдущих сравнений). Но это вообще будет какой-то полный абзац, конечно