[cpl] [Tema 1] Nelamuriri self, operatorul ".", LocalDefinition
Bogdan Nitulescu
bogdannitulescu at yahoo.com
Wed Oct 19 23:17:51 EEST 2016
Hello,
> 1. Operatorul "." este menționat că poate fi folosit într-o expresie
> dispatch pentru a accesa metode membre ale unei clase. Se pot accesa
> si variabilele membre?
Doar metodele membre, nu si variabilele
> 2. În legătură cu întrebarea 1 am observat că apar accesări de
> variabile cu "." doar doar după "self" și doar în operații de
> atribuire (care nu sunt menționate în manual) și că în nodurile din
> AST apare setat LeftHandSide cu toată construcția concatenata (ex:
> "self.variabila") ceea ce mi se pare cam dubios.
Poti sa ne zici te rog unde le-ai vazut? Am avut "self.variabila" in
anii precedenti in limbaj, dar l-am retras, ca sa mai reducem din
complexitatea acestuia. Posibil sa fi scapat vreun test mai vechi sau un
link neactualizat.
> 3. LocalDefinition mai primește un parametru la constructor numit
> scope care, din ref-urile testelor, am observat ca nu e niciodata !=
> nullptr. Iar în manual mi se pare cam ambiguă forumlarea și nu am
> înteles dacă o definiție locală are scope în toată metoda curentă sau
> doar în block-ul unde apare definiția(gen block-ul unui if). Care este
> scope-ul unui local definition și care e treaba cu parametrul de la
> constructor?
Scope-ul unei definitii locale incepe imediat dupa definitie, si se
termina la sfarsitulul blocului in care se gaseste definitia.
> Also, operatorul pentru static dispatch("::" nu apare în secțiunea de
> priorități ale operatorilor.
Nu stiu daca este nevoie neaparat sa o specifici explicit.
Chiar sunt curios, te poti gandi la un exemplu ce contine :: si expresia
respectiva poate fi parsata in doua feluri distincte, asa ca ai nevoie
de prioritatea operatorului ca sa decizi?
Bogdan
On 19.10.2016 17:36, Deeplow via cpl wrote:
> Salut,
>
> Am câteva întrebări în legătură cu unele chestii care imi sunt puțin
> neclare (în principiu bazate pe ce apare sau nu în manual/teste):
>
> 1. Operatorul "." este menționat că poate fi folosit într-o expresie
> dispatch pentru a accesa metode membre ale unei clase. Se pot accesa
> si variabilele membre?
>
> 2. În legătură cu întrebarea 1 am observat că apar accesări de
> variabile cu "." doar doar după "self" și doar în operații de
> atribuire (care nu sunt menționate în manual) și că în nodurile din
> AST apare setat LeftHandSide cu toată construcția concatenata (ex:
> "self.variabila") ceea ce mi se pare cam dubios. Mai pot apărea
> expresii de genul și în alte părti(gen ca parametrii la funcții) sau
> doar în atribuiri? Poate să apară în partea dreaptă a unei atribuiri?
>
> 3. LocalDefinition mai primește un parametru la constructor numit
> scope care, din ref-urile testelor, am observat ca nu e niciodata !=
> nullptr. Iar în manual mi se pare cam ambiguă forumlarea și nu am
> înteles dacă o definiție locală are scope în toată metoda curentă sau
> doar în block-ul unde apare definiția(gen block-ul unui if). Care este
> scope-ul unui local definition și care e treaba cu parametrul de la
> constructor?
>
> Also, operatorul pentru static dispatch("::" nu apare în secțiunea de
> priorități ale operatorilor.
>
> Dennis
>
>
> _______________________________________________
> cpl mailing list
> cpl at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/cpl/attachments/20161019/9842d203/attachment.html>
More information about the cpl
mailing list