-
Постов
289 -
Зарегистрирован
-
Победитель дней
22
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент srg91
-
Вот сколько живу, никак не пойму, почему нельзя воспользоваться поиском по форуму. Тема находится по буквально двум словам из заголовка: Ответ есть в видео в конце темы. Эту тему закрываю.
- 1 ответ
-
- 1
-
-
Это не очень похоже на запрос, плюс запросы без оплаты труда не доступны без заслуг перед форумом. Перенес в общение, мы же просто обсуждаем возможность портирования. Ох, я понял что неправильно прочитал тему, думал стоит вопрос портирования с Windows на Linux ?♂️ Боюсь тут я еще больший чайник, чем вы. Правда судя по описанию драйвера для Linux они подразумевают возможность будущего портирования на Windows / OS X если найдется знающий человек. Возможно и правда есть такая возможность ?♂️
-
Я просто мимо-крокодил со стим-контроллером. Мне казалось, что steam controller - это обычное xinput устройство и скорее всего его можно настроить руками. Без GUI конечно, но для начала кажется очень даже не плохо, если заработает. Кажется здесь есть что-то интересное: https://wiki.archlinux.org/index.php/Gamepad_(Русский)
-
На самом деле вполне нормальное название, просто не сдержался, извините. В целом полное название звучит как "член класса", можно так же использовать слова типа: поле, атрибут. Подробнее про m_: https://ru.wikipedia.org/wiki/Венгерская_нотация
-
Я уже решал подобную задачу, результат можно увидеть в этой теме:
-
Для начала очень рекомендую Феназепам В CheatEngine есть встроенная справка. Увы под рукой нет CE, поэтому не вспомню надо жать F1 или выбирать меню Help. Дополнительно можешь ознакомиться с вики: https://wiki.cheatengine.org/index.php?title=Main_Page https://wiki.cheatengine.org/index.php?title=Assembler:Commands https://wiki.cheatengine.org/index.php?title=Cheat_Engine:Auto_Assembler
-
Да, супер, отработало как нужно - версия запускаемого питона - 3.5.3; В общем запускает его сам AirtestIDE, но как я и говорил встроенный в него Python не умеет в asyncio (но я не разбирался подробно, возможно я не прав). Да и рекоммендуют они использовать синтаксис Python 2.7: http://airtest.netease.com/docs/docs_AirtestIDE-en_US/3_faq/script_related_faqs.html?highlight=python#which-python-version-is-supported Но! Насколько я вижу по тому что FAQ, можно запускать скрипты через отдельно установленный Python: http://airtest.netease.com/docs/docs_AirtestIDE-en_US/3_faq/script_related_faqs.html?highlight=python#how-to-use-a-command-line-to-run-a-script http://airtest.netease.com/docs/docs_AirtestIDE-en_US/1_online_help/before_you_start.html?highlight=python Поэтому можно попробовать поставить обычный Python, проверить что в нём работает asyncio, доустановить нужные AirtestIDE модули и указать его как основной для AirtestIDE. Если ты готов, то можем попробовать сделать это так )
-
Можно попробовать вот так запустить, тогда он почти точно выведет что запускается: import sys message = 'Executable: {}\nVersion: {}'.format(sys.executable, sys.version) raise Exception(message) Единственное, судя по всему это некий встраиваемый питон, я не уверен что у него будут доступны все модули, которые имеет оригинальный. Поэтому возможно он просто не поддерживает корутины. Напомни, пожалуйста, где взять приложение через которое ты запускаешь? Чтобы можно было руками потыкать.
-
Не очень понимаю как ты запускаешь. Ты не мог бы найти команду, которой запускается твой скрипт? Можно попробовать сделать что-то подобное: import sys raise Exception(sys.executable)
-
@MasterGH Привет. Запусти, пожалуйста, следующий код, чтобы узнать версию твоего питона: import sys print(sys.version)
-
правильно полез, ведь сравнивать динамическую типизацию с строгой - это как сравнивать теплое с мягким
-
я использую Monosnap. Бесплатный, с редактором, умеет записывать видяшки и загружать на ютуб, ftp, webdav, etc.
-
ВАЖНО! При обновлении форума пересчиталась репутация и теперь она равняется той, что вы заработали на постах / блогах / etc. Возможно кому-то что-то выдавалось руками и это могло потерятся. Если вы потеряли много репутации - напишите, мне в личку, пожалуйста, восстановим недостающее, чтобы при пересчете ничего не сбрасывалось. Вернул как было. Если вы считаете, что что-то возвращено не верно, прошу всё так же писать в личку - посмотрим, что можно сделать.
-
Спасибо, очень похоже на то. Если я правильно понял из ответа на stackoverflow, то из-за строения array мы должны инициализировать его и одновременно инициализировать его внутренний _Ty _Elems[_Size]; И, получается, по хорошему массивы всегда должны задаваться с двумя скобками. Но при этом есть "специальное правило", которое позволяет "опускать" лишние скобки в случае инициализации агрегатов, но только с условием что это "простая" инициализация, по типу std::vector<std::array<int, 2>>. Если массив содержит что-то, что нужно дополнительно инициализировать, скобки обязательны. Поэтому собственно с array<int, 2> работает, а с array<vector..., 2> нет. Кажется что-то стало более менее понятно, спасибо большое!
-
Ну, если очень мельком глянуть (я попытался посмотреть структуру вектора в исходниках, но у меня не получилось :)), то выглядит следующий код выглядит примерно так: vector<int> x = { 1,2,3 }; vector<int> y = { 4,5,6 }; array<vector<int>, 2> a = { x, y }; vector<array<vector<int>, 2>> r = { a }; где красное - вектора x и y, синее массив a их объединяющий и оранжевый - общий вектор r. Да, массив, судя по исходникам, является классом, но в памяти выглядит как подряд идущие объекты, поэтому вложенные в него вектора идут ровно подряд. Сам вектор похоже состоит из 4-х указателей, 3 из которых я так и не понял что, а вот второй - ссылка на текущий массив данных.
-
Я тоже вчера попробовал посмотреть мельком-мельком. Попробовать просто включить изменение размеров окна, она так просто не дает и чуть-чуть уменьшает окно (чуть не потерял его). Но вообще - это Unity-игра, поэтому в целом можно попробовать пошурудить Assembly-CSharp.dll каким-нибудь ILSpy чтобы найти код, который работает с размером окна. Кажется его даже можно было исправить (я делал это hex-редактором), но вроде можно даже как-то на высоком уровне её пересобрать. Тут нужны эксперты по работе с Unity / C# DLL
-
Ты не очень правильно выделил красным, красное - это вот эти два раздельных вектора: А синим действительно это инициализация массива, только почему-то с использованием агрегатного синтаксиса. Осталось понять, почему в случае если массив содержит вектора - используется агрегатный синтаксис. А если содержит числа например, то не агрегатный. Точно, а компилятор на самом деле отправляет сигнал в космос, в котором он пролетая сквозь хаскелевые экзопланеты балуется монадами и находит ответ
-
Ну вот, ты нарисовал по 3 блока скобок. А получается нужно 4, иначе не компилируется. Если разбить на переменные то не нужно: vector<int> x = {1,2,3}; vector<int> y = {4,5,6}; array<vector<int>,2> a = {x, y}; vector<array<vector<int>,2>> r = {a}; Но тогда если раскрывать обратно, то оно не компилируется: И вот я не очень понимаю, зачем нужно писать {{{{1, 2, 3}, {4, 5, 6}}}} вместо {{{1, 2, 3}, {4, 5, 6}}} , ведь в этой записи видно 3 измерения и всё выглядит корректно.
-
[C++] Ошибка конструктора многомерного массива
srg91 опубликовал тема в Высокоуровневое программирование
Всем привет. Возможно я просто не выспался, поэтому задаю такие глупые вопросы Потихоньку открываю для себя мир C++ и проходя курсы пишу небольшие тесты. И вот на составлении исходных данных для теста я не смог создать многомерный массив, компилятор очень ругается. Никак не возьму в толк почему. Теперь подробнее. Я создаю вектор массивов векторов и компилятор падает, хотя по мне всё выглядит правильно: vector<array<vector<int>, 2>> cases = { {{1, 5, 3, 4, 2}, {2, 4, 3, 5, 1}}, {{1, 2, 3}, {3, 2, 1}}, {{1, 2}, {2, 1}}, {{1}, {1}}, {{}, {}}, }; Чтобы компилятор не падал, пришлось добавить по скобке для каждой строки, но я в упор не понимаю зачем. Вот это компилируется: vector<array<vector<int>, 2>> cases = { {{{1, 5, 3, 4, 2}, {2, 4, 3, 5, 1}}}, {{{1, 2, 3}, {3, 2, 1}}}, {{{1, 2}, {2, 1}}}, {{{1}, {1}}}, {{{}, {}}}, }; Но тогда тут получается 4 измерения, как по мне, а не 3. Потому что если разложить по измерениям я прихожу к своей реализации: // Одномерный вектор vector<int> cases = {1, 2, 3, 4, 5}; // Превращаем его в вектор массивов vector<array<int>> cases = {{1, 2}, {3, 4}}; // Превращаем его в вектор массивов векторов (перестает компилироваться!) vector<array<vector<int>, 2>> cases = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}; И вроде всё верно, три измерения, но падает с ошибкой error: could not convert '{{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}' from '<brace-enclosed initializer list>' to 'std::vector<std::array<std::vector<int>, 2ul> >' vector<array<vector<int>, 2>> x = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}; Причем по ошибке не могу нагуглить именно свой случай. Кто-нибудь сталкивался с подобным? Есть какое-то логическое объяснение, почему нужно оборачивать дополнительной скобкой? Если непонятно зачем это всё, я гоняю вот такие тестики, чисто для себя: