Slinkums, nesaprašana un nevēlēšanās domāt pašam, turklāt – varbūt kādam jau ir gatavs. Man vajadzīgas divas funkcijas.
Pirmā – YearPage klasē, kas izvadītu visu esošo mēnešu sarakstiņu. Ar esošajiem es domāju tādus, kuros ir kāds ieraksts (tur ir pieejams mainīgais $.has_entries). Man nav īsti saprašanas kā pareizi un vispār ir jāsasaista kopā YearPage, YearYear, YearMonth, YearWeek un YearDay. Un kas no tā man vajadzīgs, lai izvadītu vienkāršu sarakstiņu ar pieejamajiem mēnešiem. Gluži tāpat, kā tiek izvadīti visi kāda gada mēneši, taču bez visa liekā – tikai mēnešu nosaukumi.
Otrā – MonthPage klasē, kas vienkārši izvadītu skaitu ar šajā mēnesī esošajiem ierakstiem. Tur man arī ir nesaprašanās ar MonthPage, MonthDay un MonthEntryInfo.
nez, kur es dzirdēju tās muļķības par slinkumu, ka tas veicina progresu vai ko tur..
tad nu tā. ja es uztvēru Tavu domu pareizi, tad pirmā ir tāda:
function YearPage::lay_monthsthathasentries() { "<ul>"; # '12 months objects, even if no entries are in that month.', tas par to $.months masīvu. foreach var YearMonth mh ($.months) { if (not $mh.has_entries) { # atā, mēneši, kuriem nav ierakstu } else { # 'Returns month formatted long (February 1980)', par metodi, blabla, nomaini uz ko vien vēlies. ('80tajos bija LJ?) var string name = $mh -> month_format(); "<li>$name</li>"; #html and stuff, var arī saites uz mēnesiem un ko tur vēl. } } "</ul>"; }
nezinu, varbūt Tu domāji kaut ko baigi sarežģītu un parastamvidusmēraskolnieciņam nesaprotamu, es pat diezgan esmu nobažījies, ka tā arī ir, jo neko sarežģītu es šeit nesaskatīju, paņēma piecas minūtes apmēram, nekad agrāk nebiju darījies ar kalendāra skatu.
patiesību sakot, otra liekas daudz sarežģītāka, varbūt kaut kad padomāšu vairāk, tagad slinkums :)
šādi?
function MonthPage::lay_countentries() { # skaitīklis var int count = 0; # MonthPage klasei ir tāds atribūts $.days, masīvs, kurā ir visas mēneša dienas. # šīs dienas ir MonthDay tipa atribūts, tāpēc es tieku klāt MonthDay klases atribūtiem # (punkta notācija, blablabla). starp tiem ir tāds $.entries masīvs, kas satur nelielu # infu par vienu dienu. foreach var MonthDay day ($.days) { $count = $count + size $day.entries; } # šis te jau ir mazsvarīgi. kā vēlies. if ($count == 0) { return; } print $count; }
guļu, protams. kad nāk miegs :) lūgtum, labi, ka izskatās pēc tā, ko vajadzēja. tā, starp citu, es šaubos, ka būtu tik ātri izdomājis, ja tas nebūtu tajās klasēs. ja saprotu pareizi, Tava doma laikam ir līdzīgi kā ar spamertopu, tikai tagad upuris esi sev pats, vai kaut kā tā. tikai no mēnešu saraksta tad nav īstas jēgas, ja raksti visos mēnešos, un lielākais vairums tā dara. un tieši tāpēc es par tām klasēm, YearPage skatā laikam būtu pagrūtāk dabūt ierakstu skaitu, vismaz man tā šķiet, neesmu pētījis sīkāk.