-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!not-for-mail
From: Baranosiu <r...@w...pl>
Newsgroups: pl.comp.programming
Subject: Re: coś lajtowego - konsola
Date: Fri, 19 Oct 2012 14:05:11 +0000 (UTC)
Organization: CI TASK http://www.task.gda.pl/
Lines: 79
Message-ID: <k5rmml$654$1@news.task.gda.pl>
References: <4...@g...com>
<k5r0pj$dbm$1@news.task.gda.pl>
<8...@g...com>
<k5r24i$g9e$1@news.task.gda.pl>
<5...@g...com>
<b...@g...com>
<4...@g...com>
<e...@g...com>
<s...@h...pl>
<6...@g...com>
<k5r7cr$ude$1@news.task.gda.pl>
<7...@g...com>
<k5rai5$6f5$1@news.task.gda.pl>
<a...@g...com>
<k5rf13$h4m$1@news.task.gda.pl>
<5...@g...com>
<s...@h...pl>
<1...@g...com>
Reply-To: Baranosiu <r...@w...pl>
NNTP-Posting-Host: user-31-175-154-40.play-internet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.task.gda.pl 1350655511 6308 31.175.154.40 (19 Oct 2012 14:05:11 GMT)
X-Complaints-To: a...@n...task.gda.pl
NNTP-Posting-Date: Fri, 19 Oct 2012 14:05:11 +0000 (UTC)
User-Agent: slrn/pre1.0.0-18 (Linux)
Xref: news-archive.icm.edu.pl pl.comp.programming:200157
[ ukryj nagłówki ]Dnia 19.10.2012 kenobi <p...@g...com> napisał/a:
> W dniu piątek, 19 października 2012 15:14:41 UTC+2 użytkownik Sławomir Szczyrba
napisał:
>> They're watching you, kenobi.
>>
>> [...]
>>
>> > jak wygodnie zrobic tak by ParseCommandline
>>
>> > zwracalo rozparsowane argumenty nie tylko
>>
>> > w formie komenda i tablica intow tylko
>>
>> > w ogolnym wypadku - tj przemieszane numeryki
>>
>> > (numery moga byc wczytywane jako ogolne tj double to sobie zrzutuje na inta albo
nie)
>>
>> > oraz stringi
>>
>> >
>>
>> > slowem,
>>
>> > tak zeby mozna bylo tez obslugiwac stringi
>>
>> >
>>
>> > np
>>
>> >
>>
>> > costam 10 10 "ala ma kota"
>>
>> >
>>
>> > ?
>>
>> >
>>
>> Zobacz sobie jak to jest tu zrobione.
>>
>> http://dunkels.com/adam/ubasic/
>>
>>
> nie chce mi sie w to wczytywac, [choc o tyle
> fajne ze uswiadamia czym jest basic (przynajmniej ten w starym stylu jak c c64,
> duzo roboty/kodu to to faktycznie nie jest ]
>
> nie mowie ze to jest trudne tylko podalem
> jako ciekawostke bo o ile z argumentami
> czysto liczbowymi mozna dac "char* command"
> i "double arg[]" to w przypadku mieszanych
> trzeba chyba cos w stylu "char* c = getCommand(); double arg1 = getNumber(); double
arg2 = getNumber(); char* arg3 = getString();" itd
>
Możesz pobrać wszystko jako char* a potem sobie konwertować w razie
potrzeby na liczby poprzez atoi czy atof. Możesz też wykorzystać
gotowe interpretery prostych języków (typu lua). Możesz też
zdefiniować gramatykę i wykorzystać bisona i flexa do automatycznego
wygenerowania parserów itd. Serio nie widzę tu żadnych "ciekawostek"
:D Nawet "na piechotę" to po wprowadzeniu całej linii przez
użytkownika tnę ją po białych znakach na kawałki używając strtok i na
podstawie pierwszego "wyrazu" decyduję co zrobić z pozostałymi, na
przykład jak ktoś wpisze "rysujkolo 10 20 5", to po pocięciu tego na
kawałki dostanę powiedzmy x[0]="rysujkolo", x[1]="10", x[2]="20", x[3]="5".
x[0] zawiera "rysujkolo", więc wywoluje funkcje (o deklaracji na
przyklad rysuj_kolo(int,int,int);) w ten sposob:
rysuj_kolo(atoi(x[1]),atoi(x[2]),atoi(x[3]));
i po sprawie.
Jeśli natomiast nie chcesz mieć osobnych funkcji rysuj_kolo(),
rysuj_kwardat() itd., tylko chcesz mieć jedną funkcję rysuj()
(obsługującą różne "konfiguracje" argumentów), to jeśli piszesz to w
C, to możesz użyć mechanizmu z stdarg.h, a jeśli piszesz w C++, to
załatwić sprawę różnych argumentów poprzez przeciążanie funkcji :D
Moim zdaniem pharsowanie nie powinno się odbywać w funkcji
pobierającej dane z konsoli, tylko konsola powinna pobierać na
przykład całą linię i wysyłać ją (jako jeden string) do pharsera,
który już sobie zrobi z tym co będzie chciał :D
Następne wpisy z tego wątku
- 19.10.12 16:27 kenobi
- 19.10.12 16:33 kenobi
- 19.10.12 16:35 Baranosiu
- 19.10.12 16:45 Baranosiu
- 19.10.12 16:46 kenobi
- 19.10.12 16:50 kenobi
- 19.10.12 17:00 Baranosiu
- 19.10.12 17:54 kenobi
- 19.10.12 18:54 Baranosiu
- 19.10.12 19:22 kenobi
- 19.10.12 20:06 kenobi
- 19.10.12 20:43 Baranosiu
- 20.10.12 01:25 Baranosiu
- 20.10.12 08:57 kenobi
- 20.10.12 10:38 kenobi
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow
- 2026-01-27 Warszawa => APM/Observability Engineer (Presales Engineer) <=
- 2026-01-26 #Motodziennik 365 Powrót spalinowych Renault Megane i Scenica, Volvo EX60 oraz ID.Tiguan
- 2026-01-26 Ciekawe fikoły
- 2026-01-26 Toruń => Preseles Inżynier (background baz danych) <=
- 2026-01-26 sznurowadła kwestia prawna
- 2026-01-26 Białystok => Senior Frontend Developer React <=
- 2026-01-26 Warszawa => Consultant Microsoft Dynamics 365 Finance (F&O) <=
- 2026-01-25 Organizacja religijna i nielegalna sprzedaż
- 2026-01-25 Tego "księdza" powinni wywalić z kościołai z pracy w kościele
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają