Hirdetés

Új hozzászólás Aktív témák

  • Shyciii

    veterán

    válasz gjoco1 #31814 üzenetére

    Szóval akkor a példa az időjárási kondíciót nézve (ez asszem mindig két szóból áll):

    $tc(up, tc(cut, wi(cond), 1))$$tc(cut, wi(cond), 1, tc(len, wi(cond)))$

    A logika a következő (ez amúgy minden programozási nyelvnél használható logika:
    A lényege, hogy az egymásba ágyazott függvényeknél mindig bentről kifele haladunk az értlemezésben: vagyis levágjuk a legelső betűt ( tc(cut, wi(cond), 1) itt a miből vágunk is egy függvény, a wi(cond) ez adja vissza az időjárás leírását), majd a megkapott első betűt nagy betűre cseréljük: ez a tc(up) és itt a komplett előző függvényt kell megadni értéknek, hogy mit tegyen nagybetűvé (ezért kell az értelmezéskor bentről kifelé haladni). Tehát megvan az első betű, immáron nagybetűként. Utána kell írni az összes maradék betűt. Erre is van beépített függvény, melyben meg lehet adni, hogy hányadik betűtől hány betűt írjon ki: ez a tc(cut). Először a szöveget kell megadni, ami ugye a wi(cond), majd megadjuk hogy a második betűtől kezdje (ez azért 1-es szm, mert 0-tól kezdődik a számolás, vagyis az első karakter a 0-ás. Ez a f.sz logika jópár programozási nyelvnél előfordul), aztán meg kell adni, hogy a második betűtől kezdve hány karakterig írja ki. No de ez ugye változik, nem tudni előre. Lehet persze ide írni 99-et, mert olyan hosszú nincs, de ez eléggé csúnya megoldás, úgyhogy lekérjük a tc(len) függvénnyel, hogy hány karakter hosszú a szöveg, és azt adjuk meg harmadik paraméternek.
    Hát ez a logikája.
    Nyilván ha másra akarjátok ezt leképezni, más szövegre, akkor a wi(cond) -ot kell változtatni a másik függvény által kiadott szövegre (természetesen mindegyik helyen kicserélve).
    Jah és a $ jellel kezdődnek a függvények, és azzal is kell lezárni, ezért van hogy 2db $ is van egymásután (nyilván ilyenkor a betűk is egymásután vannak közvetlenül, hisz naz első betű után rögtön kell a második betű, nem kell space.

    [ Szerkesztve ]

Új hozzászólás Aktív témák