Email or username:

Password:

Forgot your password?
Александр

Даже интересно как Майкрософт ухитряется быть настолько собой. Я всё понимаю, но как так, сука, свойство count может быть у объекта, но возвращать неправильный результат. Это же просто число элементов.

Судя по всему, оно считает значения $null.

#ТрудовыеБудни

16 comments
cauf 🇷🇺

@shuro А у тебя что, Lua головного мозга? Размерность массива не зависит от его содержимого. Читай внимательно документацию

Александр

@cauf Это повершелл, блин.

Я не хочу знать про размерности массивов, я хочу видеть сколько объектов вернул запрос трека письма или там юзеров в группе. Какого МПХ .count даёт одно, а Measure-Object другое?

И почему, если в этом массиве элементов с точки зрения count 8, но фактически 5 (т.е. остальные три типа проинициализированные, но пустые), то:

> $res[100500] -eq $null
True

> $res[100500] -like "*"
True

@cauf Это повершелл, блин.

Я не хочу знать про размерности массивов, я хочу видеть сколько объектов вернул запрос трека письма или там юзеров в группе. Какого МПХ .count даёт одно, а Measure-Object другое?

И почему, если в этом массиве элементов с точки зрения count 8, но фактически 5 (т.е. остальные три типа проинициализированные, но пустые), то:

cauf 🇷🇺

@shuro Пофиг, чего хочешь ты. Есть ожидаемое поведение. По count возвращать количество элементов в списке. Хочешь получить количество не нулевых элементов - фильтруй явно. Средство интерпритации не знает. чего ты хочешь.

Александр
@cauf Там нет смысла знать число элементов в списке, списки почти всегда динамические.
cauf 🇷🇺

@shuro В питоне тоже. И? Никто с тебя не снимает ответственности за фильтрацию результата по явному критерию. Средство интерпритации крайне тупое. Ты сам должен написать, что именно ты от него хочешь Это не ChatGPT, что бы угадывать решение

Александр
@cauf Но второй метод почему-то работает уже как ожидается :)
cauf 🇷🇺

@shuro Какой второй и кем ожидается?

cauf 🇷🇺

@shuro А, Measeru-Object.Count ? Так читай блин доку! Может он как раз реализует стандартный фильтр нуллов из массива!

cauf 🇷🇺

@shuro Пойми одну простую вещь. В большинстве языков программирования count возвращает размер массива и никак не анализирует его содержимое.

За исклюючением, разве что Lua, где массив

[1 2 3 null null 4 5 6 null null null]

будет иметь count = 8. потому, что null дропаются с хвоста массива, но только с хвоста.

Это единственное известное мне исключение из общего правила работы count

kurator88

@cauf @shuro

в go у массива есть разница между размером и заполненностью чтобы не было такой вот путаницы

Александр

@cauf Всё равно это какая-то ебанистерия. Сфигали тогда нул возвращается из-за границ массива?

Особенно весело всё это становится, когда массивы (списки файлов, юзеров и т.п.) складываются вместе и получается хрен пойми что. Ладно, будем измерять так.

BunnyInAHat

@cauf
Это. Иначе получится очередной PHP.
@shuro

top.ofthe.top

А PHP тут причём, в нём count() работает как в большинстве других языков.

cauf 🇷🇺

@shuro

Вот тебе аналогичный пример из python3

```
>>> x = [None, None, None]
>>> len(x)
3
```

⚛️Revertron :straight:

@shuro А что не так? Значения положили? - Положили, значит их надо считать 🤷‍♂️

Александр
@Revertron Не вижу значений как раз :)
Go Up