Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pp:2025:scala:t02 [2025/04/10 14:03] tpruteanu |
pp:2025:scala:t02 [2025/04/28 09:44] (current) razvang [Query] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Tema 2 PP 2024 ====== | + | ====== Tema 2 PP 2025 ====== |
+ | |||
+ | <note important> | ||
+ | Schelet: {{:pp:2025:scala:skel_tema2.zip|}} | ||
+ | </note> | ||
<note important> | <note important> | ||
Line 14: | Line 18: | ||
* **var** (**val** este ok!) | * **var** (**val** este ok!) | ||
</note> | </note> | ||
- | <note>Scheletul se poate găsi la: TBD </note> | ||
==== Scopul Temei ==== | ==== Scopul Temei ==== | ||
Line 220: | Line 223: | ||
- && - pentru a face conjunctia a doua conditii de filtrare. | - && - pentru a face conjunctia a doua conditii de filtrare. | ||
- || - pentru a face disjunctia a doua conditii de filtrare. | - || - pentru a face disjunctia a doua conditii de filtrare. | ||
- | - !! - pentru a nega o conditie de filtrare. | + | - ! (operator unar) - pentru a nega o conditie de filtrare. |
<code scala> | <code scala> | ||
Line 226: | Line 229: | ||
def &&(other: FilterCond) = ??? | def &&(other: FilterCond) = ??? | ||
def ||(other: FilterCond) = ??? | def ||(other: FilterCond) = ??? | ||
- | def !! = ?? | + | def unary_! = ?? |
// Puteti sa adaugati mai multi operatori :) | // Puteti sa adaugati mai multi operatori :) | ||
</code> | </code> | ||
Line 240: | Line 243: | ||
</code> | </code> | ||
- | ==== Operatii cu una sau mai multe Tabele ===== | + | ==== Op |
+ | eratii cu una sau mai multe Tabele ===== | ||
O baza de date contine mai multe tabele, pe care putem aplica o serie de operatii: | O baza de date contine mai multe tabele, pe care putem aplica o serie de operatii: | ||
Line 292: | Line 296: | ||
</code> | </code> | ||
- | ==== Query ==== | + | ==== Que |
+ | ry ==== | ||
Testati structurile folosite executand niste query-uri, ce ar putea fi operatii necesare intr-un backend. **Query-urile ar trebuie sa fie one-linere, fara sa folositi ''val'' intermediare, dar puteti defini functii auxiliare (pentru filtre)** | Testati structurile folosite executand niste query-uri, ce ar putea fi operatii necesare intr-un backend. **Query-urile ar trebuie sa fie one-linere, fara sa folositi ''val'' intermediare, dar puteti defini functii auxiliare (pentru filtre)** | ||
Line 310: | Line 315: | ||
</code> | </code> | ||
- | **4.3** Selectati din tabelele ''Customers'' si ''Orders'' cine a facut comenzii cu ''Cost'' peste o valoare data. Returnati ''CustomerName'', ''OrderID'', ''EmployeeID'' si ''Cost'', ordonat dupa ''EmployeeID'' crescator. | + | **4.3** Selectati din tabela ''Orders'' cine a facut comenzii cu ''Cost'' peste o valoare data. Returnati ''OrderID'', ''EmployeeID'' si ''Cost'', ordonat dupa ''EmployeeID'' crescator. |
<code scala> | <code scala> | ||
def query_3(db: Database, minCost: Int): Option[Table] = { | def query_3(db: Database, minCost: Int): Option[Table] = { | ||
Line 317: | Line 322: | ||
</code> | </code> | ||
- | ==== Testare ==== | + | ==== Te |
+ | stare ==== | ||
''Scalatest'' este o biblioteca de testare pentru Scala care suporta mai multe stiluri de scriere a testelor, inclusiv testarea traditionala unitara. ''Scalactic'' este o biblioteca destinata sa faciliteze scrierea de cod mai clar si mai intretinabil in Scala, utilizata in combinatie cu Scalatest pentru a imbunatati claritatea si precizia testelor. | ''Scalatest'' este o biblioteca de testare pentru Scala care suporta mai multe stiluri de scriere a testelor, inclusiv testarea traditionala unitara. ''Scalactic'' este o biblioteca destinata sa faciliteze scrierea de cod mai clar si mai intretinabil in Scala, utilizata in combinatie cu Scalatest pentru a imbunatati claritatea si precizia testelor. |