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; # 14Izteiksme 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; # 20Asociativitā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; # 3Tas 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; # FalseVidē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.