🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52492

Re: Perl tablice

#52492
From: Anonim Anonimowy
Date: Mon, 24 Dec 2012 00:00
75 lines
4069 bytes
W dniu poniedziałek, 24 grudnia 2012 00:04:16 UTC+1 użytkownik Stachu 'Dozzie' K. napisał:
> On 2012-12-23, Anonim Anonimowy <amkrankruleuen@gmail.com> wrote:
> 
> > W dniu niedziela, 23 grudnia 2012 21:30:16 UTC+1 użytkownik Stachu 'Dozzie' K. napisał:
> 
> >> On 2012-12-23, Anonim Anonimowy <amkrankruleuen@gmail.com> wrote:
> 
> >> 
> 
> >> > Witam, czy da się w szybki i wygodny sposób w perlu jakoś określić tablice w ten sposób, aby podać jej maksymalną wielkość, a w momencie gdy dodaje do niej element i jest pełna to żeby nastąpiło przesunięcie elementów w prawo, skasowanie ostatniego i zwolnienie miejsca dla pierwszego (dodanego).
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Znak zapytania kończy pytanie.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> To, co ty chcesz, przypomina kolejkę FIFO. Nie widziałem jeszcze języka
> 
> >> 
> 
> >> ogólnego przeznaczenia, który ma to wbudowane (chyba że w bibliotece
> 
> >> 
> 
> >> standardowej). Użyj CPAN albo stwórz sobie własny moduł na podstawie
> 
> >> 
> 
> >> Tie::Array.
> 
> 
> 
> > Nie, FIFO spełnia zupełnie inną rolę, nie chce, aby pierwszy element
> 
> > na wejściu stawał się pierwszym na wyjściu bo to by nie miało sensu.
> 
> > Problem rozwiązałem w zupełnie inny i szybki sposób korzystając
> 
> > z zakresów, dodaje element na początku, tworzy mi się tablica 101
> 
> > elementowa, a potem sam robie z niej 100 elementową [0..99].
> 
> 
> 
> A teraz opisz, w jaki sposób się różni twoje rozwiązanie od FIFO.
> 
> 
> 
> I wyjaśnij, czemu uważasz przepisywanie za każdym razem wszystkich stu
> 
> elementów (i to dwukrotnie!) za szybkie.
> 
> 
> 
> -- 
> 
> Secunia non olet.
> 
> Stanislaw Klekot

Ty zakładasz, że ja chcę w pewien sposób kolejkować odczytywane elementy, a mi zależy na tablicy którą będę mógł odczytać w dowolny sposób, np. środkowy element w czasie rzeczywistym, zapytałem ogólnie, a nie do konkretnego zastosowania. Po drugie jakie jakie dwukrotne przepisywanie?! Matematyka się kłania...
Załóżmy, że mam tablice i wykonam takie operacje:
@array = (1..10);
@array = @array[0..3];

Gdzie tu dwukrotne przepisanie? Co więcej głowy sobie uciąć nie dam, że perl nie jest wyczulony na tego typu operacje i nie przepisze danych na zupełnie nowe adresy tylko po prostu skróci tablice zamiast całą przepisywać. Moja tablica będzie po prostu z czasem zapełniana elementami, a mi zależy na tym, żeby tych elementów nigdy nie było więcej niż 100, dodanie nowego elementu nie wiąże się z tym, że na pewno w tym samym czasie chce odczytać tablice...
Technical Details
Message-ID: <6a88da03-9dc7-4dc4-9694-9c11382d552b@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!ee4no1984295qab.0!news-out.google.com!k2ni2110qap.0!nntp.google.com!ee4no1984292qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <afbdca47-192b-4596-ba38-f400620b9a76@googlegroups.com> <slrnkdeqet.ni1.dozzie@jarowit.net> <7e56a750-b82c-4bc8-ae2d-7a96d058573e@googlegroups.com> <slrnkdf3fk.ni1.dozzie@jarowit.net>

Show Full Headers
Complete Article Headers
X-Received: by 10.224.218.2 with SMTP id ho2mr10144767qab.8.1356307228274;        Sun, 23 Dec 2012 16:00:28 -0800 (PST)
Received: by 10.49.75.195 with SMTP id e3mr2986423qew.24.1356307228259; Sun, 23 Dec 2012 16:00:28 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!ee4no1984295qab.0!news-out.google.com!k2ni2110qap.0!nntp.google.com!ee4no1984292qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.perl
Date: Sun, 23 Dec 2012 16:00:28 -0800 (PST)
In-Reply-To: <slrnkdf3fk.ni1.dozzie@jarowit.net>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.68.246.195; posting-account=0kXzSAoAAABN0cMZaL-bUkffWvYoWZ4h
NNTP-Posting-Host: 89.68.246.195
References: <afbdca47-192b-4596-ba38-f400620b9a76@googlegroups.com> <slrnkdeqet.ni1.dozzie@jarowit.net> <7e56a750-b82c-4bc8-ae2d-7a96d058573e@googlegroups.com> <slrnkdf3fk.ni1.dozzie@jarowit.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6a88da03-9dc7-4dc4-9694-9c11382d552b@googlegroups.com>
Subject: Re: Perl tablice
From: Anonim Anonimowy <amkrankruleuen@gmail.com>
Injection-Date: Mon, 24 Dec 2012 00:00:28 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit