Allmänt meddelande

Collapse
No announcement yet.

Scriptnamn

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Scriptnamn

    Hur skall man på ett säkert sätt tilldela namn i långa script? Man vill ju gärna använda begripliga termer så att dessa script blir så lättlästa som möjligt.

    Jag har utgått ifrån att scriptraderna kompileras från vänster till höger, är det korrekt?

    Följande exempel belyser vad jag menar.

    Daghögst:=
    Dagsenast:=
    Daglägst:=
    Dagtal:=
    DagsummaTal:=
    Dagkurva:=
    DagOK:=

    Detta funkar inte! Visst finns det många ”Dag” i början, men jag tycker att det bord gå i alla fall. Ett tilldelat namn är INTE ett delnamn i ett annat som jag ser det. Men slopar jag ”Dag” i början av namnen fungerar det.

    Att ha ”kurva:= och Dagkurva:=” i samma script går inte heller. Vad går gränsen för vad kompilatorn sammanfogar?

    Om exemplet ovan hade skrivits som Dag1, Dag2, osv till Dag7 hade det varit OK? Hade kompilatorn ändå inte ”sett” att Dag var vanligt förekommande?

    Skiljer kompilatorn på små och stora bokstäver?

    Det finns väl ingen begränsning att använda lika namn, fast i olika script som är ”samtidigt anslutna till samma papper”?

    Sådana här problem är mycket svårupptäckta. Många gånger får man godkänt av syntaxkontrollen fastän det ändå inte funkar fullt ut. Tacksam för synpunkter.

  • #2
    Det du skissar här är inga problem vad jag kan se.

    Det görs en sök-ersätt uppifrån och ned, rad för rad.

    Så länge inget namn är delnamn av annat tilldelat namn är det ok.

    Dag:=
    Dag1:=

    blir problem.

    Men

    Dag1:=
    Dag2:=

    blir inga problem.

    Dag1:=
    Dag11:=

    blir problem.

    Dag1:=
    Dag21:=

    blir inga problem.

    Kompilatorn skiljer ej på stora och små bokstäver(nu längre, den gjorde det från början för längesedan).

    Olika script behöver man ej tänka på att olika namn skall blandas, det är helt olika världar.

    Comment


    • #3
      Ja, jag trodde väl att jag hade klart för mig principerna men de båda exemplen jag skissade funkade bevisligen inte. Inget syntaxfel larmade. Ändrade jag det senare till kurva1 resp. Dagkurva gick det bra. Det jag märkte det hela på var att flaggorna ritades fel och att utnyttjad datastack var alldeles för liten.

      Det ENDA jag gjorde var att ändra namnen för att flaggorna skulle ritas rätt.
      ”Ja, se dessa datorer”.

      Men tack ändå!

      Comment


      • #4
        Lasse, jag fortsätter vårt resonemang här för jag tror att detta är av allmänintresse.

        Om inte kurva:= som namn och Dagkurva= som namn på minnesreferens går att förena tycker jag att reglerna för ”allmän namngivning” bör revideras.

        För mig tycks det som om ett ”namn med :=” har annan status än ”namn på en minnesreferens”.

        Tydligen letar kompilatorn efter alla ”namn” som finns på rader till vänster om (:=). Därefter undersöker den om detta finns insprängt någonstans i ”namnet” på en minnesreferens. Om denna slutsats är rätt skulle detta betyda att:

        slow:=
        fast:=
        slow1fast2=

        skulle vara helt regelvidrigt som du brukar uttrycka det.

        Regeln skulle då lyda: I minnesreferenser använd aldrig samma ”delord” som redan finns som namn längre upp. Och då gäller det att hålla tungan rätt i munnen vid långa script!

        Comment

        Working...
        X