Jēgas no šitā visa nekādas, bet tomēr gribu.
Doma ir tāda, ka vēlos kaut kur savā draugu lapā izvadīt mazu sarakstiņu, kurā būtu parādīti
to manu draugu vārdi, kuru ierakstu šajā lapā ir visvairāk. Blakus arī norādīts viņu ierakstu
skaits. Tas būtu tāds kā lielāko spameru topiņš. :) Nu, piemēram, "gorgona
(3)". Tādā veidā.
Esmu ticis šitik tālu, taču nesaprotu, kāpēc tas nestrādā. Ar sakārtošanu dilstošā secībā
galā netiku, tāpēc tā nav implementēta. Viens te pieteicās palīdzēt.. :) Lai
nu kā, būtu jau labi, bet pagaidām netiek izvadīts nekas. Tikai atverošais un aizverošais <ul>
.
Es nesaprotu, kur vaina.
Tam būtu jādarbojas tā, ka tiek ņemts katrs ieraksts draugu lapā. Tā rakstītāja vārds ($.entries.poster.username
)
tiek salīdzināts ar visām asociatīvā string
masīva rakstnieki{}
atslēgām
(kas ir citu username
). Ja ir sakritība, tad palielina atbilstošo vērtību par 1 (kas tiek
glabāta kā string
, tāpēc
tur tā pārveidošana turp un atpakaļ). Ja neatrod, tad pievieno jauno vārdu.
function tops(Entry[] entries) "Spamertopiņš" { # asociatīvais masīvs, kurā likt atrasto rakstu rakstītāju vārdus un rakstu skaitu # piemēram – "maita" => "2", "antikrists" => "4", .. var string{} rakstnieki; # pati darbība, kad pievieno jaunas vai atjauno vecās vērtības masīvā foreach var Entry ieraksts($entries) { var string kas = $ieraksts.poster.username; var string raksti_string; var int raksti; foreach var string parbaude($rakstnieki){ if ($parbaude == $kas){ # ir atrasts # jāpalielina vērtība atrastajam rakstītājam # (zinu, ka šo var īsāk, bet man vaidzēja uzskatāmi) $raksti_string = $rakstnieki{$parbaude}; $raksti = int($raksti_string); $raksti++; $raksti_string = string($raksti); $rakstnieki{$parbaude} = $raksti_string; } else { # ja neatrod # pievieno jaunās vērtības masīvam $rakstnieki{$kas} = string(1); # kā string, viens rakstiņš tomēr sameklēts } } } # sakārtot dilstošā secībā. not implemented. :) # izvada rezultātus var int skaits = 0; var int limits = 3; # $*top_skaits "<ul>\n"; foreach var string tops($rakstnieki) { # kamēr nav sasniegts top vērtību maksimums (piem, top 3) if ($skaits <= $limits){ # izvada šeit - username (x) print "<li>" + $tops + " <small>(" + $rakstnieki{$tops} + ")</small></li>\n"; } else { # nékas } $skaits++; # nākošais ieraksts } "</ul>"; } ######### ## pēc tam tas tiek izsaukts no "FriendsPage::print_body" funkcijas apmēram šādi function FriendsPage::print_body { """<div style="position:absolute; left:25px; top:460px; width:130px; height:85px; z-index:5;">\n"""; tops($.entries); """</div>\n\n"""; # tālāk visa pārējā "FriendsPage::print_body" funkcija.. # .. foreach var Entry e ($.entries) { # .. $this->print_entry($e); # .. } }