Установите свойство в WiX на основе условия

Python:

rotated = zip(*original[::-1])  # On Python 3, list(zip(*original[::-1]))

Дешевый, я знаю.

И против часовой стрелки:

rotated_ccw = zip(*original)[::-1]  # On Python 3, list(zip(*original))[::-1]

, Как это работает: (Требуемый в комментариях)

zip(*original) подкачает оси 2-х массивов путем укладки соответствующих объектов из списков в новые списки. (* оператор говорит функции распределять содержавшие списки в аргументы)

>>> zip(*[[1,2,3],[4,5,6],[7,8,9]])
[[1,4,7],[2,5,8],[3,6,9]]

[::-1], оператор инвертирует элементы массива (см. Расширенные Части ).

>>> [[1,2,3],[4,5,6],[7,8,9]][::-1]
[[7,8,9],[4,5,6],[1,2,3]]

Наконец, комбинируя эти два приведет к преобразованию вращения.

изменение в размещении [::-1] инвертирует списки в разных уровнях матрицы.

14
задан Peter Mortensen 29 December 2016 в 15:54
поделиться

1 ответ

Следующее установит свойства A и B как результат двух разных поисков в реестре. Если поиск B был успешным, он заменяет значение A значением B.

  <Property Id="A">
     <!-- registry search 1 here -->
  </Property>

  <Property Id="B">
     <!-- registry search 2 here -->
  </Property>

  <SetProperty Id="A" After="AppSearch" Value="[B]">
     B
  </SetProperty>

Обратите внимание, что элемент SetProperty использует значение B дважды: один раз как Value = "[B]" для отмены значение A и один раз как текст условия настраиваемого действия. After = "AppSearch" гарантирует, что настраиваемое действие выполняется сразу после поиска в реестре.

См. Также этот ответ Роба Меншинга

24
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: