Aktywne Wpisy

zapasowy-pirat +69
#kiszak
Witajcie z tej strony osoba która siedzi w gameDevie oraz Unity.
i takiego syfu jak playable teaser EoE dawno nie widziałem.
Z ciekawości zdekompilowałem kod źródłowy dotPeekiem i nie wróżę tej grze dobrze - no chyba że zostania napisana na nowo.
Kod jest albo pisany przez ChatGPT lub inne AI, albo robiony przez kogoś po kursie -
Witajcie z tej strony osoba która siedzi w gameDevie oraz Unity.
i takiego syfu jak playable teaser EoE dawno nie widziałem.
Z ciekawości zdekompilowałem kod źródłowy dotPeekiem i nie wróżę tej grze dobrze - no chyba że zostania napisana na nowo.
Kod jest albo pisany przez ChatGPT lub inne AI, albo robiony przez kogoś po kursie -


LebronAntetokounmpo +197
Nikt nie pytał, nie prosił, nie chciał. Jednak się pojawił. Wątek z despotami pluskającymi się w wodzie.
Mussolini
#plywanie #fotohistoria #historia #ciekawostki
Mussolini
#plywanie #fotohistoria #historia #ciekawostki
źródło: 715254497_1030279396233070_6710600164240834143_n
Pobierz



$$CommandName1??CommandParam$$$$CommandName2??CommandParam$$$$CommandName3??CommandParam$$
Ogólna struktura: $$NazwaKomendy??Parametr$$
W jednym stringu mogą być takie struktury połączone jak w przykładzie.
Potrzebuję przy pomocy metody match() a następnie groups() wyciagnac liste komend i parametrów w takiej postaci:
[CommandName1??CommandParam , CommandName2??CommandParam , CommandName3??CommandParam]
Później już sobie umiem z tym poradzić.
Jakiś pomysł na regexa do metody match() ?
#pytanie #programowanie #python #regex
r'\$\$[^?]+\?\?[^$]+\$\$'. Gdzieś w dokumentacji znajdziesz chyba, jak znaleźć wszystkie kolejne wystąpienia.split("$$") zwraca mi: ['', 'GETANALOGVAL??1', 'GETDIGITALVAL??1', 'GETDIGITALVAL??2', '']
Skąd 1 i ostatni element '' ???
>>> re.split("\$+", "$$CommandName1??CommandParam$$$$CommandName2??CommandParam$$$$CommandName3??CommandParam$$")['', 'CommandName1??CommandParam', 'CommandName2??CommandParam', 'CommandName3??CommandParam', '']
a puste elementy masz, bo ciąg zaczyna się i kończy na
@SwordPL: I co z tego? Piszesz na procesor x86, nie mikrokontroler - tutaj wystarczy, że nie stosujesz algorytmów o nieoptymalnej złożoności dla problemu i nie czekasz na rzeczy, na które nie musisz czekać (np. na IO) - co rozwiązuje 99% problemów z wydajnością poza grami.
Edit:
Ja nie mówię, że regexy są złe w ogóle; regexy są złe tutaj.
i oczywiście:
There should be one-- and preferably only one --obvious way to do it.O(2^m+n)(m= długość regexa,n= długość stringa), prawie taką samą jak.split(O(n)). Biorąc pod uwagę, że kosztO(2^m)jest ponoszony jednorazowo (dlatego często używane regexy w wielu językach należy traktować zre.compile()), to cóż...@SwordPL: W tym przypadku to rzeczywiście prawda, split jest rozwiązaniem lepszym, bo czytelniejszym i szybszym, ale gość chciał się podszkolić z
mjest ustalone, asymptotyczna złożoność dla splita i regexa jest taka sama - różni się to tylko stałą. Dodatkowo, regex załatwia za jednym przejazdem podział po$$i po??, czego split nie umie.Później masz coś zrobić z takim kodem i się zastanawiasz dlaczego ten chu^H^H^Hwspółpracownik użył tu regexpa. Może w specyfikacji jest napisane,
r"\${2,}", a nie tak jak u ciebie. Jeżeli separatorem jest $$, to pewnie po to, żeby pojedynczy $ mógł wystąpić ( @bred_one, zwróć na to uwagę).