PDA

Показать полную графическую версию : Как разобрать Union в PowerShell?


jkadaba
16-10-2020, 11:24
На удаленной тачке есть древняя программа, поддержкой которой никто уже не занимается, но менять на нечто современное не торопится. Так вот, программа создаёт отчёты динамики конторы, но делает это весьма хитрозадо. Вместо графика в декартовой плоскости, она генерирует точки этого графика в виде юниона этих точек: x1, y1, x2, y2 и т.д. Так вот, можно как-то на поше этот юнион развинтить и получить точки? C#?

Iska
19-10-2020, 20:36
jkadaba, хорошо бы на русский сие перевести.

Elven
20-10-2020, 07:36
Iska, а что тут переводить. Многие люди периодически забивают гвозди микроскопом, а jkadaba решил, что хорошо бы попробовать наоборот - сиречь микробов через молоток посмотреть.

YuS_2
20-10-2020, 09:51
микробов через молоток посмотреть. »
Ну, не совсем же уж так-то. :)
Но данных недостаточно - это факт. Чтобы что-то написать, разбирающее координаты и рисующее график, необходимо таки получить входящие данные, т.е. формат тех данных (консоль, файл, бинарные данные, последовательный порт или ещё как-либо), максимальные и минимальные, возможные значения координат, период времени, в который генерируются точки (бесконечно-непрерывно, раз в час, раз месяц, раз в год и т.д.), да и в каком формате хотелось бы получать результат, тоже надо бы указать и т.п.... но ничего такого в исходных данных, попросту нет.

Iska
20-10-2020, 17:13
Elven, скажем, в C понятие union — имеет вполне определённое значение. Что в него вкладывает коллега jkadaba — я не знаю. Для какой иной плоскости, кроме декартовой, используются x и y — я тоже не знаю. Как выглядят в реальности исходные данные — аналогично.

Elven
21-10-2020, 09:06
Iska, если человек оперирует этими понятиями, то скорей всего он имеет доступ и к нутрям этой самой программы, следовательно имеет возможность повлиять на ее вывод. Логичнее, кмк, менять софт изнутри чем подкостыливать его снаружи.
по теме - согласен с YuS_2 - данных нет.

Iska
21-10-2020, 17:58
Elven, я, собственно, про то же — недостаточно исходных данных для осмысленного ответа.

greg zakharov
21-10-2020, 18:04
Хм... Как таковых объединений ни в C#, ни тем более в pwsh нет. Однако, они могут быть представлены в виде explicit структур с явным указанием смещений полей. Подобные структуры "объявляются" в pwsh посредством рефлексии или кодом C# через Add-Type. Есть и третий, менее очевидный способ - GCHande, что для неподготовленных это полная 나귀. На счёт данных YuS_2, как справедливо замечают другие, в целом прав.




© OSzone.net 2001-2012