Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Lua

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Lua

Messaggioda Foto Utentegekofive » 12 feb 2023, 19:48

Qualcuno di voi conosce questo linguaggio?
Avete scritto qualcosa più di "Hello world"?
Avatar utente
Foto Utentegekofive
101 4
Frequentatore
Frequentatore
 
Messaggi: 117
Iscritto il: 14 set 2022, 14:44

0
voti

[2] Re: Lua

Messaggioda Foto UtenteThEnGi » 12 feb 2023, 20:19

Solo su Minecraft e poco più di un programma per la "Turtle" :mrgreen:
A memoria è tipo il C

O_/
Avatar utente
Foto UtenteThEnGi
2.181 3 6 9
Expert EY
Expert EY
 
Messaggi: 2199
Iscritto il: 6 ott 2022, 18:43

0
voti

[3] Re: Lua

Messaggioda Foto Utentegekofive » 12 feb 2023, 20:48

Si, è una specie di C interpretato.

Forse mi puoi aiutare, volevo una conferma su un comportamento strano che trovo solo in questo linguaggio.
Prendi questo codice

Codice: Seleziona tutto
for c = 1, 10 do
   io.write(c, "\n")
   if c == 3 then
      c = 7
   end
end

Mi aspetto che il loop salti un ciclo, ma invece la variabile c che era stata modificata, viene ripristinata all'inizio del nuovo ciclo e il loop fa comunque tutti 10 i cicli. tutti gli altri linguaggi che conosco non si comportano in questo modo e mi pare strano. Volevo sapere se qualcunaltro lo aveva notato.
Avatar utente
Foto Utentegekofive
101 4
Frequentatore
Frequentatore
 
Messaggi: 117
Iscritto il: 14 set 2022, 14:44

0
voti

[4] Re: Lua

Messaggioda Foto Utenteelfo » 12 feb 2023, 21:20

Third, you should never change the value of the control variable: The effect of such changes is unpredictable.

In fondo a questa pagina:

https://www.lua.org/pil/4.3.4.html
Avatar utente
Foto Utenteelfo
6.654 4 5 7
G.Master EY
G.Master EY
 
Messaggi: 2786
Iscritto il: 15 lug 2016, 13:27

0
voti

[5] Re: Lua

Messaggioda Foto Utentegekofive » 12 feb 2023, 21:40

Grazie Elfo per il link a quella pagina. Nel testo che sto seguendo non è scritto nulla al riguardo. Comunque è una brutta cosa questa restrizione.
Avatar utente
Foto Utentegekofive
101 4
Frequentatore
Frequentatore
 
Messaggi: 117
Iscritto il: 14 set 2022, 14:44

0
voti

[6] Re: Lua

Messaggioda Foto UtenteGioArca67 » 12 feb 2023, 22:04

gekofive ha scritto:Mi aspetto che il loop salti un ciclo, ...

E già qui c'è qualcosa che non va se pensavi che da 3 a 7 sia un solo ciclo...
Avatar utente
Foto UtenteGioArca67
3.872 4 6 9
Master
Master
 
Messaggi: 3797
Iscritto il: 12 mar 2021, 9:36

0
voti

[7] Re: Lua

Messaggioda Foto Utentegekofive » 12 feb 2023, 22:53

GioArca67 ha scritto:E già qui c'è qualcosa che non va

E' un refuso, intendevo quello che c'è scritto nel programma, (4 cicli).
Dato che hai scritto già, cosa altro c'è che non va?
Avatar utente
Foto Utentegekofive
101 4
Frequentatore
Frequentatore
 
Messaggi: 117
Iscritto il: 14 set 2022, 14:44

0
voti

[8] Re: Lua

Messaggioda Foto UtenteIlGuru » 12 feb 2023, 23:21

Forse assegna c come una variabile locale interna alla funzione if.
Bisognerebbe provare a stampare c dopo l'assegnazione e vedere se stampa il valore 3 o 7
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.317 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1910
Iscritto il: 31 lug 2015, 23:32

0
voti

[9] Re: Lua

Messaggioda Foto UtenteGioArca67 » 12 feb 2023, 23:23

Quello che hanno già scritto prima.
Perché devi fare quella cosa singolare?
Non puoi gestire con una if?

EDIT: Oppure una while al posto del for
Avatar utente
Foto UtenteGioArca67
3.872 4 6 9
Master
Master
 
Messaggi: 3797
Iscritto il: 12 mar 2021, 9:36

0
voti

[10] Re: Lua

Messaggioda Foto UtenteGioArca67 » 12 feb 2023, 23:24

IlGuru ha scritto:Bisognerebbe provare a stampare c dopo l'assegnazione e vedere se stampa il valore 3 o 7

Dopo l'if

EDIT: le variabili non dichiarate sono globali, per le locali si una local, il for automaticamente dichiara la variabile del ciclo come locale, quindi all'uscita non la vedi più.
Avatar utente
Foto UtenteGioArca67
3.872 4 6 9
Master
Master
 
Messaggi: 3797
Iscritto il: 12 mar 2021, 9:36

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti