Raku kurss / Padziļināti / Operatori

Operatoru uzvedības pārskats

Kad izteiksmē ir vairāki operatori, Raku ir jāizlemj, kādā secībā tos piemērot. To nosaka divi noteikumi: prioritāte un asociativitāte.

Prioritāte

Prioritāte nosaka, kurš operators saistās ciešāk. Reizināšanai ir augstāka prioritāte nekā saskaitīšanai, tāpēc tā tiek izpildīta pirmā:

say 2 + 3 * 4; # 14

Izteiksme tiek lasīta kā 2 + (3 * 4), kas dod 14, nevis 20. Jūs vienmēr varat izmantot iekavas, lai noteiktu citu secību:

say (2 + 3) * 4; # 20

Asociativitāte

Asociativitāte nosaka secību starp operatoriem ar vienādu prioritāti. Atņemšana ir kreisi asociatīva, tāpēc tā grupējas no kreisās puses:

say 8 - 3 - 2; # 3

Tas ir (8 - 3) - 2, kas ir 3. Kāpināšana, savukārt, ir labēji asociatīva:

say 2 ** 3 ** 2; # 512

Šeit izteiksme grupējas kā 2 ** (3 ** 2), tas ir 2 ** 9, kas ir 512.

Ķēdētas salīdzināšanas

Salīdzināšanas operatorus var ķēdēt, kas lasās dabiski un darbojas tā, kā sagaidāms no matemātikas:

say 1 < 2 < 3; # True
say 1 < 5 < 3; # False

Vidējā vērtība tiek salīdzināta ar abiem kaimiņiem: 1 < 2 < 3 ir patiess, jo gan 1 < 2, gan 2 < 3 ir patiesi.

Prakse

Jūs gaida 1 viktorīna par šī temata saturu.

Vingrinājumi

Šajā sadaļā ir 3 vingrinājumi. Pirms ķerieties pie vingrinājumiem, izlasiet visus šīs sadaļas tematus.

  1. Piespiest secību
  2. Pakāpju tornis
  3. Ķēdēts salīdzinājums

Kursa navigācija

Viktorīna — Vārdu operators   |   Piespiest secību