Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Busla:
а зачем?! »
Мне — для группировки файлов «пачками».

По коду: с этим-то понятно. Минус такого подхода — в двойной проверке: общий цикл «для всего» и вложенная в него аналогичная проверка для того же условия, либо вложенным циклом, как у Вас (и так — да, красивее), либо простым условием с прерыванием цикла, как обычно делаю я. То бишь, делать — можно, но громоздко. Ладно, когда другого выхода нет (например, в том же WSH), а тут хотелось бы использовать конвеер и группировку.

Цитата Busla:
польская нотация придумана, для имитации пользовательских типов - чтобы килограммы с километрами не складывать, а не для дублирования системных »
Не-не-не, это операция приведения типа, и я повторюсь, что не вижу принципиальной разницы что использовать — псевдоним или полное определение типа, [int] или [System.Int32], [string] или [System.String].

Цитата YuS_2:
Не понял зачем там do ... until с рандомом, да и разбираться не стал...»
Дабы получить имя временного файла, которого гарантированно не существует в указанном каталоге. Чтобы быть абсолютно точно уверенным в данном факте.


Цитата YuS_2:
Эквивалент: »
Спасибо, ясно. Будем знать.

Цитата Busla:
YuS_2, поиск индекса по значению в общем случае плохая затея: неэффективная и нужно быть уверенным в уникальности значений »
Ну, значения-то у нас будут уникальные (в данном случае), а вот что поиск индекса по значению в массиве есть операция крайне медлительная — это факт.


Цитата Busla:
да и вообще ненужная: кто сказал, что группировать можно только по свойствам объекта? »
Busla, браво! Мысленно снимаю шляпу. Казалось бы, элементарная вещь — но ведь до этого нужно ещё дойти, сообразить, что так — передавать по конвееру одно, а группировать по другой сущности, совсем не связанной с переданным по конвееру — тоже можно.

Цитата Busla:
единственное - потребовался небольшой хак, чтобы итератор стал ссылочным типом »
Вот-вот. А я на этом упёрся и фсё, не сообразил, как сделать так, чтобы и овцы были целы, и волки сыты . Это вовсе не хак, это вполне нормальный способ обойти ограничения передачи аргумента по значению.

Цитата Busla:
Iska, Double - это двоичная дробь и двоичный сдвиг, поэтому отбрасывание дробной части может дать неожиданный результат. »
Ну, тут по-хорошему надо смотреть, как хранятся числа в памяти — с фиксированной точкой или плавающей, как именно организовано вычисление операции деления. Совсем не копался на эту тему. Почему использовал Floor() — потому что не обнаружил в PowerShell оператора целочисленного деления, а DivRem() — тупо не нашёл .

Отправлено: 22:21, 11-08-2018 | #22