Názor k článku Jazyk Shine: „lepší“ Lua s novými jazykovými konstrukcemi a vylepšeními od Čavo - Keby si chcel niekto shine skompilovať a nemá...

  • Článek je starý, nové názory již nelze přidávat.
  • 2. 4. 2024 7:46

    Čavo

    Keby si chcel niekto shine skompilovať a nemá konto na github-e (alebo ho len nemá vložené do git-u), tak asi bude lepšie použiť.

    git clone https://github.com/richardhundt/shine.git

    Inak sa dopracujete k niečomu takémuto:

    > git clone git@github.com:richardhundt/shine.git
    Cloning into 'shine'...
    The authenticity of host 'github.com (140.82.121.4)' can't be established.
    ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
    git@github.com: Permission denied (publickey).
    fatal: Could not read from remote repository.
    
    Please make sure you have the correct access rights
    and the repository exists.

    Ale prečo som to chcel si skompilovať. Nepozdávala sa mi veta v 13. kapitole: „Programovací jazyk Shine má v tomto případě odlišnou sémantiku, protože proměnná a naplněná uvnitř funkce test bude globální:“.

    Tak som si to preveril a naozaj to vypísalo tú chybu. Dobre, chce mať definovanú premennú v globálnom priestore. Tak som urobil dva pokusy a tu to začina byť zábavné.

    Pripísal som vytvorenie globálnej premennej.

    a = 5
    function test()
        a = 10
    end
    
    test()
    print(a)

    Výsledok bol „10“.

    Tak som skúsil ju zadefinovať pred volaním funkcie:

    function test()
        a = 10
    end
    
    a = 5
    test()
    print(a)

    Výsledok je „5“.

    Bŕŕŕ. To hádam nie.

    Po tejto skúsenosti neviem, či sa mi chce skúmať tento jazyk hlbšie. Mozno mi niekto vysvetlí, prečo sa to takto správa.