-
Data: 2018-10-14 13:58:28
Temat: Re: [Arduino] Switch... case
Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 14 Oct 2018 10:08:15 GMT, Mateusz Viste napisał(a):
> On Sun, 14 Oct 2018 09:20:37 +0100, Michal M. Lechanski wrote:
>> switch ... case dopuszcza tylko dane typu int i char, mnie wygodnie by
>> było użyć String.
>> Czy istnieje podobna funkcja pozwalająca operować na danych typu string?
>> Dziękuję za sugestie.
>> P.S. Wiem że mogę użyć if..else.
>
> Mi w podobnych sytuacjach zdarzało się użyć kilku rozwiązań:
>
> - parsowanie stringa by przydzielić mu stosownego enuma, i następnie
> switch() na enumie.
Switch z int ma te zalete, ze kompilator moze tablice skokow zrobic.
A jak parsujesz, to czy jest zysk, czy tylko strata ?
Parsowac mozna algorytmem binarnym, w if'ach to nieco trudniejsze,
ale mozna je optymalnie ustawic.
> - kiedy stringi można rozróżnić po pierwszych 4 znakach, to zwyczajny cast
> do uint32_t
A potem unicode sie trafi :-)
Tu z kolei kompilator nie moze tablicy skokow ... albo nie bedzie sie
ograniczal, 100MB sobie wygeneruje :-)
> - na podstawie ciągu znaków wyliczam crc32, i następnie z tej wartości
> korzystam by rozpoznać jaka była (domniemana) zawartość stringa
Metoda hash ... znana, stosowana, patrz wyzej ...
> - ostatecznie męczyć się z if (strcmp()) else if () itd...
I tu by sie przydalo jeszcze miec mniejsze i wieksze, i C troche
zawodzi.
Czy mi sie wydaje, czy w Fortranie taki trojstronny if byl ?
J.
Następne wpisy z tego wątku
- 14.10.18 23:06 Michal M. Lechanski
- 19.10.18 21:27 Mateusz Bogusz
Najnowsze wątki z tej grupy
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
- Chińska Telefonia 6G - Chcą Nas Sterować Elektrycznie - Jak Kukiełki w Teatrze Lalek!!!
- RS-485 ale automatycznie dwukierunkowy
- Leżakujące SSD gubią po roku dane
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
Najnowsze wątki
- 2025-12-17 jak wykryć zapalenie żarówki?
- 2025-12-17 Jest akt oskarżenia przeciw kulsonowi gazującemu posłankę.
- 2025-12-17 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-12-17 Warszawa => Project Manager <=
- 2025-12-16 Złomnik się SPRZEDAŁ Kanałowi ZERO
- 2025-12-16 Czy tuskie ENA będą mieć w [4 literach] W BRUKSELI? [Ziobro]
- 2025-12-16 Warszawa => Junior Rekruter <=
- 2025-12-15 I lewacka ideologia poszła się JEBAĆ
- 2025-12-15 Zgłoszenie uprowadzenia dziecka w Koszalinie. Policja zatrzymała podejrzanych, 10-miesięczny chłopiec odnaleziony
- 2025-12-15 Warszawa => Fullstack PHP Developer <=
- 2025-12-15 Prezydent i Marszałek Sejmu
- 2025-12-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-12-15 Warszawa => Sales Assistant <=
- 2025-12-15 Białystok => Programista Dynamics 365 Commerce/POS <=
- 2025-12-15 Białystok => Dynamics 365 Commerce/POS Developer <=




Chińskie auta: Od niskiej jakości do globalnego lidera. Co pokazuje raport EFL?