-
X-Received: by 10.140.92.140 with SMTP id b12mr17000qge.14.1415787556504; Wed, 12 Nov
2014 02:19:16 -0800 (PST)
X-Received: by 10.140.92.140 with SMTP id b12mr17000qge.14.1415787556504; Wed, 12 Nov
2014 02:19:16 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!hl2no
394387igb.0!news-out.google.com!u1ni9qah.0!nntp.google.com!u7no1041664qaz.1!pos
tnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 12 Nov 2014 02:19:16 -0800 (PST)
In-Reply-To: <7...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.186.78.6;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 46.186.78.6
References: <5...@g...com>
<a...@4...com>
<6...@g...com>
<7...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: Makra higieniczne w jezyku Scheme
From: g...@g...com
Injection-Date: Wed, 12 Nov 2014 10:19:16 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:206937
[ ukryj nagłówki ]W dniu środa, 12 listopada 2014 11:00:53 UTC+1 użytkownik firr napisał:
> jawaskrypt ciekawy jezyk, nieststy ciagle nie mam sily sie go nauczyc, tylko czasem
wpadaja mi w oko kwiatki ktore rozumiem albo ktorych nie rozumiem
>
> mialbys moze chwile by wyjasnic mi co tutaj sie
> przykladowo dzieje
>
> io.sockets.on("connection", function (socket) {
> socket.unit = null;
> socket.on("connectServer", function (data, reply) {
> var unit = new IB.Player(data);
>
> worldHandler.addUnit(unit);
> }
> });
>
> mniej chodzi mi o sementyke ale o skladnie
> co to jest? cialo funkcji przekazywane jako argument? a dalej w srodku z tym
socket.on to samo? sa to po prostu skrotowe zapisy by nie pisac 3 cial funkcji w
trzech miejscach czy cos wiecej?
jest mniej wiecej tak jak mowisz. (jednak zamiast powiedziec, ze "cialo funkcji
jest przekazywane jako argument", raczej bym powiedzial, ze "funkcja jest
przekazywana jako argument")
zgodnie z oczekiwaniem, moglbys alterniatywnie zapisac:
function connectServerHandler(data, reply) {
var unit = new IB.Player(data);
worldHandler.addUnit(unit);
}
function connectionHandler(socket) {
socket.unit = null;
socket.on("connectServer", connectServerHandler);
}
io.sockets.on("connection", connectionHandler);
nie ma duzej roznicy pomiedzy takim kodem, a np. kodem w C
przekazujacym wskazniki do funkcji.
w ogolnosci jednak sila ekspresji javascriptu jest wieksza,
niz sila ekspresji C, poniewaz mozesz w js tworzyc tzw. "domkniecia"
("closures"), czyli funkcje ktore przechowuja swoje lokalne srodowisko.
klasyczny przyklad wyglada tak:
function make_counter() {
var counter = 0;
return function() { return ++counter; }
}
var c = make_counter();
print c(); // 1
print c(); // 2
print c(); // 3
w C mozesz oczywiscie uzyskac funkcjonalnie podobny efekt, przekazujac
do funkcji osobna strukture (wiele bibliotek ma takie interfejsy, ze
pobieraja wskaznik na funkcje i wskaznik void *, ktory funkcja
ma sobie sama rzutowac do odpowiedniego typu)
Następne wpisy z tego wątku
- 12.11.14 11:41 firr
- 12.11.14 12:11 g...@g...com
- 12.11.14 12:13 firr
- 12.11.14 12:20 g...@g...com
- 12.11.14 12:22 firr
- 12.11.14 12:31 firr
- 12.11.14 12:34 firr
- 13.11.14 11:40 firr
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 ranking wyciszenia, głośność, hałas przy 130 km/h, na postoju, przy przyspieszaniu
- 2025-02-05 Warszawa => IT Recruiter <=
- 2025-02-05 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-05 Rzeszów => Spedytor Międzynarodowy <=
- 2025-02-05 Warszawa => IT Business Analyst <=
- 2025-02-05 Warszawa => Specjalista DevOps <=
- 2025-02-05 Łódź => NodeJS Developer <=
- 2025-02-05 Warszawa => QA Engineer (Quality Assurance) <=
- 2025-02-05 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-05 Warszawa => QA Engineer <=
- 2025-02-05 Warszawa => Programista Full Stack .Net <=
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 podpisywanie umów z datą wsteczną
- 2025-02-04 Radio internetowe do starego Androida