-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.comp.programming
Subject: Re: Czym jest programowanie?
Date: Fri, 15 Jun 2012 00:41:40 +0200
Organization: Netia S.A.
Lines: 74
Message-ID: <jrdph6$38r$1@mx1.internetia.pl>
References: <4fce791d$0$26684$65785112@news.neostrada.pl>
<jqn67e$339$1@inews.gazeta.pl>
<4fcf21e7$0$1308$65785112@news.neostrada.pl>
<jqn7ut$eur$1@inews.gazeta.pl> <jqnla2$9un$1@inews.gazeta.pl>
<y2ia1qc4thf8$.hnbv89yzd18u$.dlg@40tude.net>
<jqnnmi$mcn$1@inews.gazeta.pl> <jqsj08$tgo$1@mx1.internetia.pl>
<jqurbn$34$1@inews.gazeta.pl>
<7...@g...com>
<g...@s...invalid> <jr51r9$9oi$1@inews.gazeta.pl>
<f...@v...googlegroups.com>
<jr57bu$9g7$1@inews.gazeta.pl>
<e...@g...com>
<f...@g...com>
<jr6ur2$lo2$1@inews.gazeta.pl>
<c...@g...com>
<a...@g...com>
<jrb8hh$rkf$1@mx1.internetia.pl>
<0...@g...com>
<jrddju$t7n$1@mx1.internetia.pl>
<a...@g...com>
NNTP-Posting-Host: 83.238.197.12
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1339713894 3355 83.238.197.12 (14 Jun 2012 22:44:54 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Thu, 14 Jun 2012 22:44:54 +0000 (UTC)
In-Reply-To: <a...@g...com>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20120216
Icedove/8.0
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.comp.programming:197931
[ ukryj nagłówki ]On 14.06.2012 21:49, Wojciech Muła wrote:
> W dniu czwartek, 14 czerwca 2012 21:18:20 UTC+2 użytkownik Michoo napisał:
>> On 14.06.2012 12:31, Wojciech Mu�a wrote:
>>> W dniu czwartek, 14 czerwca 2012 01:39:27 UTC+2 u�ytkownik Michoo napisa�:
>>> A to co, jak nie podanie explicite zakresu dost�pu.
>> Sposobu dost�pu - warto�� czy referencja (czy brak).
>
> Ale po co? Gdy wprowadzasz nowy zakres (np. ifem) to nie
> musisz pisać jaki będzie sposób dostępu do zmiennych
> z zewnętrznych zakresów.
Ale tego ifa nie możesz wyekspediować w inne miejsce. To znaczy właśnie
w formie lambdy możesz, więc musisz powiedzieć jaki ma bagaż ze sobą zabrać.
[] - kompilator zapewni, że nie weźmie lokalnego kontekstu
[=] - skopiuje użyte zmienne
[&] - weźmie przez referencję
W ten sposób problem:
utwórz funktory, które "wiedzą" w której iteracji je wywołano i
jednocześnie współdzielą kontekst można zapisać jako
{
zmiene współdzielone;
for(int i=0;i<max_it;i++){
...
[&,iteration](){...};
...
}
wywoływanie lambd
>
>>> O tym pisa�em, �e programista *musi* przy definicji
>>> ustali�, do czego funkcja ma dost�p.
>> Zarzucasz, �e je�yk daje za du�e mo�liwo�ci programi�cie zamiast
>> ograniczy� si� do jedynej s�usznej wersji? No bez jaj...
>
> Sorry, ale to klepanie 3 znaków bez sensu. :)
No nie bez sensu. Dzięki tym trzem znakom to programista a nie twórcy
języka decydują jak się dana lambda zachowa.
W javie masz na przykład możliwość przekazania tylko zmiennej final,
więc żeby np przekazać do "lambdy" [1] stringa, który może zostać
zmodyfikowany pomiędzy utworzeniem obiektu a jego użyciem musisz tego
stringa zapakować w klasę - tam to dopiero jest pisania (albo
programiści, którym się nie chce robić dodatkowej klasy robią numery
pokroju:
list<String> l1 = new ArrayList<String>();
l1.add("some string");
final list<String> l2 = l1;
new clas ...
l2.get(0);
...
l2.set(0,"other string");
a to dopiero zaciemnia zapis.
)
[1] Czyli klasy/implementacji interface inline.
>
>>> BTW funkcje anonimowe s� og�lnie przereklamowane.
>> Uwa�am, �e s� wygodne:
>> [...]
>
> Nie twierdzę, że niewygodne, jednak sama idea mnie nie
> porywa, nawet w ukochanym pythonie nie używam dla onlinerów.
>
> BTW jestem ciekaw, jak wygląda debuggowanie takich
> anonimowych cudaków.
Na gcc generuje symbole postaci:
_ZNSt8functionIFivEEC2IZ3foovEUlvE_EET_NSt9enable_if
IXntsrSt11is_integralIS4_E5valueENS1_8_UselessEE4typ
eE
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 15.06.12 00:50 Michoo
- 15.06.12 00:53 slawek
- 15.06.12 02:28 Michoo
- 15.06.12 02:31 Michoo
- 15.06.12 07:18 Andrzej Jarzabek
- 15.06.12 07:22 Andrzej Jarzabek
- 15.06.12 07:52 Andrzej Jarzabek
- 15.06.12 07:57 Roman W
- 15.06.12 08:00 Andrzej Jarzabek
- 15.06.12 09:29 Artur Muszyński
- 15.06.12 10:27 Roman W
- 15.06.12 14:44 slawek
- 15.06.12 14:58 slawek
- 15.06.12 15:01 slawek
- 15.06.12 15:41 Roman W
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=
- 2024-12-11 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-11 Idzie zima...czyli zaczynamy TETRIS :)
- 2024-12-11 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe
- 2024-12-11 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-11 Warszawa => Full Stack .Net Engineer <=
- 2024-12-11 Dyski HDD SATA 2,5'' >2TB
- 2024-12-11 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS