Ero sivun ”Python 2/Wikishakkisivu” versioiden välillä

Poistettu sisältö Lisätty sisältö
Raimondo (keskustelu | muokkaukset)
Raimondo (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 608:
 
==Jatkohommat==
{{ShakkilautaŠakkilauta|=
|tright
|Yläotsikkoteksti
Rivi 623:
}}
 
*===Shakkilauta-maallineen tarkempi analyysi===
Seuraava malline tuottaa oheisen kuvan mukaisen tyhjän laudan, joten aiemmissa kokeiluissa esiintyneet rivinumerot ovat vain kommenttitekstiä eikä niitä siksi voi käyttää ruutujen paikan määritykseen.
 
*Shakkilauta-maallineen tarkempi analyysi
 
<source lang="Python">
 
{{ShakkilautaŠakkilauta|=
|tright
|Yläotsikkoteksti
Rivi 641 ⟶ 642:
|Alaotsikkoteksti
}}
</source>
 
Mallineen alku voidaan tunnistaa rivistä '''<tt><nowiki>{{</nowiki>Šakkilauta|=</tt> '''. Sitä seuraa vaihtelevan pituinen parametri ja otsikkotietoa sisältävä kaksirivinen merkkijono, joka päättyy '''<tt>|=</tt>''' merkkipariin. Tämän jälkeen seuraa shakkilaudan sisältötietorivit 8...1. Kunkin sisältörivin alussa voi olla kommenttitekstiä ja '''|''' merkin jälkeen ruutujen kaksimerkkiset sisältötiedot sisältötiedot '''|''' merkeillä erotettuna. Kukin rivi päätetään '''<tt>|=</tt>''' merkkipariin. Tämän jälkeen voi olla kommenttitekstirivi. Mallineen päättää '''|''' merkeillä alkava rivi (minkä sisältönä voi olla alaotsikkotekstiä) ja sittä seuraavalla rivillä oleva '''<nowiki>}}</nowiki> merkkipari'''.
 
====Ratkaisu=Tehtävän ratkaisu===
 
# Etsitään tiedostosta Shakkilauta-mallineen alkurivi.
# Kopioidaan se sekä sitä seuraavat kaksi '''|''' merkeillä alkavaa parametri- ja yläotsikkoriviä sellaisenaan tulostiedostoon.
# Kopioidaan sitä seuraavat sisältörivit välitallennuspaikkoihin ensimmäisistä '''|''' merkeistä lähtien ja hukataan niitä mahdollisesti edeltävät kommenttitekstit.
# Hukataan näitä mahdollisesti seuraavat kommennntitekstirivit ja talletetaan '''|''' merkeillä alkava alaotsikkotieto ja mallineen päättävä '''<nowiki>}}</nowiki>'''merkkipari sellaisenaan mallineen loppuosan välitalletuspaikkaan.
# Suoritetaan sisältöriveihin annettua siirtoparametriä vastaava modifiointi
# Talletetaan mallineen osat lähtötiedostoon.
 
Ratkaisu voidaan toteuttaa kahdessa vaiheessa:
# Toteutetaan tiedoston hajottaminen välitallennuspaikkoihin ja kokoaminen takaisin lähtötiedostoon ilman sisällön modifiointia.
# Lisätäät toimintaan sisältörivien modifiointi.