[viesti Survo-keskustelupalstalla (2001-2013)]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 19.4.2010 13:27 |
Survo-risteilyn aikana 17.4.2010 kehkeytyi ajatus siitä, miten Survon toimituskentässä olevissa usean komennon jonon muodostamassa työkaaviossa olisi mahdollista toimia siten, etteivät eri komentojen toimituskenttään tuottamat tulosrivit peittäisi toisia komentoja eikä muitakaan pysyviksi tarkoitettuja tietoja. Kun tällaiset peräkkäiset komennot käynnistetään ensimmäisen kerran erikseen ylhäältä alaspäin järjestyksessä, se ei ole ollut ongelmallista, koska seuraavan komennon on voinut kirjoittaa aina edellisen komennon tulosten perään. Kuitenkin, jos samat valmiit komennot toistetaan muuttuneessa tilanteessa, tulokset voivat rivien lisääntyessä peittää alempana olevia komentoja tai rivien vähetessä jättää peräänsä turhia jäänteitä aikaisemmista tuloksista. Risteilyn aikana käytyjen keskustelujen pohjalta olen päätynyt seuraavaan ratkaisuun em. ongelmien välttämiseksi. Survolle ominaisten laskentakaavioiden erotteluun on käytössä muotoa *........... olevat rajarivit. Nyt mukaan tulisivat pehmeämmät "risuaidat" eli muotoa *########## olevat rivit. Kuvaan uutta käyttötapaa pienellä esimerkillä, jossa aktivoidaan kolme eri Survon komentoa peräkkäin ja ne käynnistetään lopulta suoraan /ACTIVATE-sukrolla: 11 */ACTIVATE + 12 *Tarkastetaan tiedoston DECA rakennetta 13 *seuraavalla komennolla: 14 +#FILE STATUS DECA / MASK=-AAA 15 *########## 16 *Lasketaan perustunnuslukuja 17 *Komennolla MINSTAT: 18 +#MINSTAT DECA,CUR+1 19 *########## 20 *Vielä keskiarvoja, hajontoja ja korrelaatiokertoimia 21 *ohjelmalla CORR: 22 +#CORR DECA,CUR+2 23 *########## 24 *Myös nämä rivit säilyvät aktivoitaessa 25 *mikä tahansa edellä olevista komennoista 26 *tai jopa /ACTIVATE + joka toistaa ne kaikki. Avainasemassa ovat paitsi risuaitarivit (15,19,23) myös itse komennot, joista jokaisen alkuun on lisätty merkki #. Jos esim. aktivoidaan pelkästään rivillä 18 oleva #MINSTAT, edellä oleva toimituskentän näkymä kasvaa muotoon: 11 */ACTIVATE + 12 *Tarkastetaan tiedoston DECA rakennetta 13 *seuraavalla komennolla: 14 +#FILE STATUS DECA / MASK=-AAA 15 *########## 16 *Lasketaan perustunnuslukuja 17 *Komennolla MINSTAT: 18 +#MINSTAT DECA,CUR+2 19 Basic statistics of data DECA N=48 20 Variable mean stddev N minimum maximum 21 Points 7843.479 161.6540 48 7649.000 8206.000 22 100m 828.1875 59.30256 48 712.0000 932.0000 23 L_jump 840.1875 50.72859 48 725.0000 951.0000 24 *########## 25 *Vielä keskiarvoja, hajontoja ja korrelaatiokertoimia 26 *ohjelmalla CORR: 27 +#CORR DECA,CUR+1 28 *########## 29 *Myös nämä rivit säilyvät aktivoitaessa 30 *mikä tahansa edellä olevista komennoista 31 *tai jopa /ACTIVATE + joka toistaa ne kaikki. eli MINSTATin viisi tulosriviä ovat asettuneet kauniisti komentorivin 18 ja sitä seuraavan risuaidan väliin ja jälkeiset rivit ovat siirtyneet viisi askelta alaspäin. Huom. rivillä 14 oleva MASK-täsmennys on valinnut MINSTATille DECA- aineiston kolme ensimmäistä lajimuuttujaa. Jos nyt rajoitetaan rivin 14 MASK-täsmennys kahteen ensimmäiseen lajimuuttujaan ja aktivoidaan kaikki kolme komentoa peräkkäin automaattisesti rivin 11 /ACTIVATElla saavutetaan tilanne: 11 */ACTIVATE + 12 *Tarkastetaan tiedoston DECA rakennetta 13 *seuraavalla komennolla: 14 +#FILE STATUS DECA / MASK=-AA 15 * 16 * Best athletes in decathlon in 1973 17 * {lower_limit,upper_limit} 18 *FIELDS: (active) 19 * 2 NA- 2 Points Total score (####) {7000,9000} 20 * 3 NA- 2 100m 100 meters run (####) {500,1200} 21 *END 22 *Survo data file DECA: record=128 bytes, M1=30 L=64 M=14 N=48 23 *########## 24 *Lasketaan perustunnuslukuja 25 *Komennolla MINSTAT: 26 +#MINSTAT DECA,CUR+1 27 *Basic statistics of data DECA N=48 28 *Variable mean stddev N minimum maximum 29 * Points 7843.479 161.6540 48 7649.000 8206.000 30 * 100m 828.1875 59.30256 48 712.0000 932.0000 31 *########## 32 *Vielä keskiarvoja, hajontoja ja korrelaatiokertoimia 33 *ohjelmalla CORR: 34 +#CORR DECA,CUR+2 35 * 36 *Means, std.devs and correlations of DECA N=48 37 *Variable Mean Std.dev. 38 *Points 7843.479 161.6540 39 *100m 828.1875 59.30256 40 *Correlations: 41 * Points 100m 42 * Points 1.0000 0.2943 43 * 100m 0.2943 1.0000 44 *########## 45 *Myös nämä rivit säilyvät aktivoitaessa 46 *mikä tahansa edellä olevista komennoista 47 *tai jopa /ACTIVATE + joka toistaa ne kaikki. Kaikki tulotukset asettuivat siis sopuisasti komentorivien ja niitä seuraavien risuaitojen väliin. MINSTATin tulosrivit jopa vähenivät, koska muuttujia valittiin yksi vähemmän. Risuaitoja käytettäessä komentojen tulee ohjata tulokset suhteellisella merkinnällä CUR+1 (eli komentoriviä seuraavalle riville). Jos käyttää merkintää CUR+2, tulosten eteen tulee yksi tyhjä rivi jne. Muita rivitunnuksia tai kiinteitä rivinumeroita ei tule käyttää komentojen tulosrivien osoituksiin. Muuten symboliset rivitunnukset ovat tietenkin sallittuja. Tämän uuden toimintatavan toteutus on ollut periaatteessa sangen yksinkertainen. Esim. kun aktivoidaan MINSTAT tilanteessa 18 *#MINSTAT DECA,CUR+1 19 * 20 * (mahdollisia aikaisempia tuloksia) 21 * 22 *########## 23 *jatkuu... Survo, havaitessaan että komennon edessä on #, korvaa merkin # välilyönnillä (toimituskentässä) ja etsii komennon jälkeisiltä riveiltä ensimmäistä risuaitaa *##########. Sellaisen puuttuessa tulee virheilmoitus ja toiminta keskeytyy. Jos risuaita löytyy, siirretään se rivi ja kaikki sen jälkeiset tilapäiseen tiedostoon SURVO.BLO (aivan samaan tapaan kuin jos ne maalattaisiin napilla alt-F4). Sitten kaikki komennon jälkeiset rivit pyyhitään kokonaan pois toimituskentästä (piilotetulla SCRATCH-komennolla) jolloin komento päästään aktivoimaan puhtaalta pöydältä. Lopuksi palautetaan nuo tiedoston SURVO.BLO rivit saatujen tulosten perään ja merkki # komennon eteen. Näin toteutettuna tämän uuden aktivointimenettelyn ei pitäisi hidastaa eikä häiritä aikaisempia Survon toimintoja. Vain Survon pääohjelmaan, editoriin on tämän johdosta tullut pieni lisäys. Risutekniikkaa käytettäessä on toimituskenttään tulostavien komentojen täsmennykset sijoitettava aina komennon perään tai yläpuolelle, koska komennon ja sen jälkeisen risuaidan väli väistämättä tuhoutuu ja korvautuu uusilla tulosriveillä. Ainakin toistaiseksi komennot on kirjoitettava tiiviisti rivin alkuun niin, ettei merkin # edessä ole tyhjää. Rajarivejä *.......... voi risutekniikassakin käyttää entiseen tapaan eri komentokaavioiden täsmennysten eristämiseen ja *GLOBAL*-asetusta oletustäsmennysten antamiseen. Risuaidat tulevat mukaan SURVO MM:n versiosta 3.16 lähtien. Toistaiseksi riittävien kokemusten puuttuessa on varauduttava mahdollisiin pelisääntöjen muutoksiin. -Seppo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!