Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Kimmo Vehkalahti
Administrator
Laivalla [*] keskusteltiin muuttujien valinnasta MASK- ja VARS-täsmennyksin:
SURVO R:ssä näitä voi "sekakäyttää" niin, että MASK-toiminnosta tutulla
valintaikkunalla saadaankin kenttään VARS-lista (F9) MASK-rimpsun (F8)
sijaan, ja VARS-listan aktivoinnilla päästään takaisin valintaikkunaan.
Nämä ovat erittäin käteviä välineitä ainakin edistyneemmille käyttäjille.

"Takaisinkytkennän" osalta jäi vähän pohdittavaa: lisätäänkö rivejä, jos
VARS-listan pituus ylittää rivin pituuden? Tässä taidettiin kannattaa
vastaavaa toimintaa, jonka kohtaa esim. SHOW-komennon L-toiminnolla,
ts. Survo kysyisi, lisätäänkö rivejä.

Sekä MASK-rimpsu että VARS-lista ovat sellaisenaan tuiki tarpeellisia.
Riippuu mm. käyttötilanteesta, kumpi kulloinkin on kätevämpi. Niissä
on sekä hyvät että huonot puolensa, joten en itse osaa ottaa sellaista
kantaa, että käyttäisin tai opettaisin ainoastaan toista.

Valintakeinot eivät Survossa lopu tähän, onhan tarjolla myös toiminto
FILE ACTIVATE (alt F6), joka (joskus aloittelijoita hämäten) vie ihan
samannäköiseen valintaikkunaan. Erona on se, että valintaikkunasta
poistuttaessa kenttään ei kirjoiteta mitään vaan valinnat tallettuvat
osaksi datan metatietoja. Tälläkin on omat käyttötilanteensa, joskin
itse hyödynnän sitä erittäin harvoin. Lokaalit valinnat (VARS / MASK)
ovat toistettavuuden ja automatisoinin kannalta parempia valintoja.

Toisaalta, kaikkia edellä mainittuja uudempi tulokas FILE MASK (jota
ei laivakeskustelussa taidettu mainita?) mahdollistaa metatietoihin
talletettujen valintojen monipuolisen hallinnan toimituskentästä.
Perusmuodossaan se on hivenen kryptinen, mutta laajemmassa muodossa,
johon kuuluu MASKING-asetelma kommentteineen, se on havainnollinen ja
kätevä valintatyökalu. Voisin jopa ajatella, että aloittelijoille
pitäisikin opettaa sen käyttöä eikä noita aiemmin mainittuja.

- Kimmo

[*] Survo-käyttäjäyhdistyksen 23. kevätseminaari Helsinki-Tukholma-Helsinki 25.-27.4.2013
http://www.survo.fi/yhdistys/risteilyt.html

Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Reijo Sund
Administrator
Kimmo Vehkalahti wrote
"Takaisinkytkennän" osalta jäi vähän pohdittavaa: lisätäänkö rivejä, jos
VARS-listan pituus ylittää rivin pituuden?
Rivien lisäys on mukana versiosta 0.6.0 lähtien.


Kimmo Vehkalahti wrote
Toisaalta, kaikkia edellä mainittuja uudempi tulokas FILE MASK (jota
ei laivakeskustelussa taidettu mainita?) mahdollistaa metatietoihin
talletettujen valintojen monipuolisen hallinnan toimituskentästä.
Perusmuodossaan se on hivenen kryptinen, mutta laajemmassa muodossa,
johon kuuluu MASKING-asetelma kommentteineen, se on havainnollinen ja
kätevä valintatyökalu. Voisin jopa ajatella, että aloittelijoille
pitäisikin opettaa sen käyttöä eikä noita aiemmin mainittuja.
FILE MASK on vähemmän käytetty ja tunnettu ominaisuus, mutta tuossa laajemmassa muodossaan voisi olla hyvä vaihtoehto. MASK-VARS vaihtoehtoiluun tottumisen myötä tuntuisi kuitenkin olevan tarvetta jonkinmoiselle FILE MASK STATUS tms. komennolle, joka generoisi halutusta datasta MASKING-pohjan. Täytyy hiukan kypsytellä ideaa kuitenkin ensin.
Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Kimmo Vehkalahti
Administrator
Reijo Sund wrote
MASK-VARS vaihtoehtoiluun tottumisen myötä tuntuisi kuitenkin olevan tarvetta jonkinmoiselle FILE MASK STATUS tms. komennolle, joka generoisi halutusta datasta MASKING-pohjan.
Loistava idea!

Siis esim.

MASK=-YXXXXX------XR
FILE MASK STATUS DECA,M1

tuottaisi alapuolelle:

FILE MASK DECA,M1
MASKING M1
Points:           Y
100m-400m,Weight: X
RES:              R
OTHERS:           -
END

Tuota voi sitten täydentää omilla kommenteillaan (vrt. FMASK?)

Huomionarvoista on, että tuossa MASKINGissa on mahdollista viitata muuttujiin syntaksilla "100m-400m", joka on tuttu mm. SAS:ista ja SPSS:stä, muttei ole käytössä muualla Survossa. Kätevä, ilman muuta.
Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Reijo Sund
Administrator
Versiossa 0.6.0 on mukana alustava versio toiminnosta
FILE MASK <data>
(eli ainoana parametrina datan nimi) joka etsii alapuolelta (seuraavaan rajariviin saakka) MASKING-listaa ja jos ei löydä, niin menee activate-näkymään, josta poistuminen tuottaa sitten alapuolelle yksinkertaisen MASKING-listan (FILE STATUSmaisesti päällekirjoittaen), jota voi halutessaan editoida ja/tai siirtää nimettynä toiseen paikkaan yms.

VARSiin ja MASKiin verrattuna pitää aina muistaa "ylimääräinen" aktivointi, joka pieni haittapuoli muuten varsin kätevän oloisessa toiminnossa.
Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Kimmo Vehkalahti
Administrator
Heh, ei taas ehtinyt kauaa kulua, kun Reijo oli jo kerinnyt toteuttamaan idean! Hyvä oivallus keskittää kaikkien tapojen valinta samanlaiseen aktivointi-ikkunaan. Taidan siirtyä tämän vaihtoehdon käyttöön ainakin perusopetuksessa, se on havainnollinen ja dokumentoi työn näiltä osin parhaiten. Hienoa!
Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Kimmo Vehkalahti
Administrator
Entä jos FILE MASK <data> ottaisi suoraan huomioon mahdollisen VARS/MASK-täsmennyksen ilman käyntiä FILE ACTIVATE -ikkunassa?

BTW, nyt ihan tavallisen MASK-aktivoinnin lopetus putsaa alla olevia rivejä...! :-/

Tulostus olisi hyvä viimeistellä niin, että joka muuttujalle varataan 8 merkkiä, jolloin aktivointikirjaimet tulevat allekkain; alustava versio vähän svengaa:

FILE MASK DECA
MASKING
100m: A
L_jump: A
Shot_put: A
Hi_jump: A
400m: A
Hurdles: A
Discus: A
Pole_vlt: A
Javelin: A
1500m: A
OTHERS: -
END

Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Reijo Sund
Administrator
Kimmo Vehkalahti wrote
Entä jos FILE MASK <data> ottaisi suoraan huomioon mahdollisen VARS/MASK-täsmennyksen ilman käyntiä FILE ACTIVATE -ikkunassa?
Tämä ei ole mielestäni hyvä ajatus, koska tuossa menevät sitten puurot ja vellit sekaisin. Lisäsin kuitenkin versioon 0.6.1 sellaisen ominaisuuden, että MASKING-listan puuttuessa FILE MASK <data> lukee VARS/MASKin ja antaa sen pohjaksi activate-ikkunaan.

Näin korostuu se, että FILE MASK muuttaa .SVO-tiedoston maskia eikä ole samalla tavalla yleinen tapa kuin VARS/MASK, jotka siis toimivat myös muille datamuodoille kuin .SVO-tiedostot. Tämä on itse asiassa FILE MASKin "heikkous" (aktivointivaatimuksen lisäksi) VARSiin nähden, joten itse kyllä suosisin VARSia.

Täytyypä ehkä harkita josko VARSiin lisäisi MASKINGista löytyvän viiva-syntaksin ja/tai mahdollisuuden lukea muuttujat MASKING-listasta..

Kimmo Vehkalahti wrote
BTW, nyt ihan tavallisen MASK-aktivoinnin lopetus putsaa alla olevia rivejä...!
Tämä siis tapahtui vain, jos oli aikaisemmin puljannut useamman rivin määritysten kanssa, kuten MASKING-listojen kanssa. Korjattu versioon 0.6.1.

Kimmo Vehkalahti wrote
Tulostus olisi hyvä viimeistellä niin, että joka muuttujalle varataan 8 merkkiä, jolloin aktivointikirjaimet tulevat allekkain
En ole vakuuttunut tämän oletuksen "yleistettävyydestä", kun esim. viivanotaation kanssa 8 merkkiä ei riitä. Muuttujien raakalistan tuottamisen yhteydessä se ehkä kuitenkin on paikallaan, joten lisäsin tuohon muotoon tulostuksen versioon 0.6.1.
Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Kimmo Vehkalahti
Administrator
Reijo Sund wrote
Lisäsin kuitenkin versioon 0.6.1 sellaisen ominaisuuden, että MASKING-listan puuttuessa FILE MASK <data> lukee VARS/MASKin ja antaa sen pohjaksi activate-ikkunaan.
Juuri tätä tarkoitin, ilmaisin varmaan epäselvästi.

Reijo Sund wrote
Näin korostuu se, että FILE MASK muuttaa .SVO-tiedoston maskia eikä ole samalla tavalla yleinen tapa kuin VARS/MASK, jotka siis toimivat myös muille datamuodoille kuin .SVO-tiedostot. Tämä on itse asiassa FILE MASKin "heikkous" (aktivointivaatimuksen lisäksi) VARSiin nähden, joten itse kyllä suosisin VARSia.
Hyvä huomio. Mutta esim. pikkudatojen, joita voi pitää kentässä (vaikkapa pylväskuvan piirtotilanne) nimet voikin parhaiten luetella VARSilla. FILE MASK:in nimen alkuosa kertoo selvästi, että se koskee vain FILEitä.

Reijo Sund wrote
Täytyypä ehkä harkita josko VARSiin lisäisi MASKINGista löytyvän viiva-syntaksin ja/tai mahdollisuuden lukea muuttujat MASKING-listasta..
Olisi kätevä joissain tilanteissa, ainakin jos aktivointikirjaimella ei ole väliä.

Reijo Sund wrote
Kimmo Vehkalahti wrote
Tulostus olisi hyvä viimeistellä niin, että joka muuttujalle varataan 8 merkkiä, jolloin aktivointikirjaimet tulevat allekkain
En ole vakuuttunut tämän oletuksen "yleistettävyydestä", kun esim. viivanotaation kanssa 8 merkkiä ei riitä. Muuttujien raakalistan tuottamisen yhteydessä se ehkä kuitenkin on paikallaan, joten lisäsin tuohon muotoon tulostuksen versioon 0.6.1.
Viivanotaatio olkoon käyttäjän oma asia; automaatin on parempi generoida muuttujat yksittäin.
On hyödyllistä, että aktivointikirjaimet muodostavat selkeän pystyrivin, josta saa heti kiinni vaikkapa blockilla tms.

Reply | Threaded
Open this post in threaded view
|

Re: Valinnanvaraa: MASK / VARS / FILE ACTIVATE / FILE MASK

Reijo Sund
Administrator
Reijo Sund wrote
Lisäsin kuitenkin versioon 0.6.1 sellaisen ominaisuuden, että MASKING-listan puuttuessa FILE MASK <data> lukee VARS/MASKin ja antaa sen pohjaksi activate-ikkunaan.
Tässähän siis olisi ollut sekin vaihtoehto, että FILE MASK <data> loisi suoraan mitään kyselemättä VARS/MASKin mukaisen MASKING-listan, jossa sitten ei ehkä ole selvää milloin FILE MASK todella muuttaa maskia ja milloin ei.

Kimmo Vehkalahti wrote
Mutta esim. pikkudatojen, joita voi pitää kentässä (vaikkapa pylväskuvan piirtotilanne) nimet voikin parhaiten luetella VARSilla. FILE MASK:in nimen alkuosa kertoo selvästi, että se koskee vain FILEitä.
Näinhän se tosiaan on, joskaan en kyllä itsekään muistanut noita eri datatyyppejä ennen kuin jouduin konkreettisesti lukemaan VARS/MASKista tavaraa. Kirjastofunktio mask():han hakee ne SURVO_DATAan eikä SURVO_DATA_FILEeen struktuuriin ja meni tovi hoksata miten noita saadaan käytettyä ristiin..

Kimmo Vehkalahti wrote
Reijo Sund wrote
Täytyypä ehkä harkita josko VARSiin lisäisi MASKINGista löytyvän viiva-syntaksin ja/tai mahdollisuuden lukea muuttujat MASKING-listasta..
Olisi kätevä joissain tilanteissa, ainakin jos aktivointikirjaimella ei ole väliä.
Kyllähän VARSin kanssa voi antaa aktivointikirjaimen (suluissa) ja sen varmaan saisi toimimaan viivanotaatiollakin. Ja tuo MASKING-listan luku VARSissa voisi ehkä onnistua helpohkosti. Pitäisi vaan saada hyvä notaatio sille:
VARS=MASKING(LISTAN_NIMI) tuntuu vähän "oudolta",
VARS=#LISTAN_NIMI voisi ehkä toimia (vrt. MASK=#7 yms.), mutta miten tukea silloin nimettömiä listoja..

Kimmo Vehkalahti wrote
Viivanotaatio olkoon käyttäjän oma asia; automaatin on parempi generoida muuttujat yksittäin.
On hyödyllistä, että aktivointikirjaimet muodostavat selkeän pystyrivin, josta saa heti kiinni vaikkapa blockilla tms.
Jees.. nämä periaatteet tuntuvat varsin hyviltä. Ja tällainen tasaus ei toivottavasti aiheuta samanlaista päänvaivaa kuin nimien "oikealle" tasaus taisi jossain yhteydessä tehdä.