Corso di Raku / Fondamenti / Fondamenti di variabili e tipi di dati / Numeri
Operazioni con i numeri
Non c’è dubbio che tu già conosca alcune delle operazioni che puoi fare con i numeri in Raku. Solo per menzionare che il simbolo dell’operazione è chiamato operatore. Gli oggetti su cui eseguiamo operazioni sono chiamati operandi.
Aritmetica
Operatore | Operazione
+ | Addizione - | Sottrazione * |
Moltiplicazione / | Divisione
Poiché Raku supporta Unicode molto bene, alcuni di questi operatori hanno equivalenti non ASCII:
× | Moltiplicazione ÷ | Divisione
Per cambiare l’ordine di esecuzione, usa le parentesi:
say 3 * 4 + 5; # 17
say 3 * (4 + 5); # 27Modulo
L’operatore modulo è % come in molti altri
linguaggi.
% | Modulo
Restituisce il resto della divisione intera di due numeri, quindi
10 % 3 è 1. Nota che -10 % 3 è
2 poiché il risultato dell’operazione è definito come la
differenza tra il primo numero e la divisione arrotondata per difetto
moltiplicata per il secondo numero. Quindi, $a % $b è
equivalente a $a - $b * floor($a / $b).
Divisibilità
Raku aggiunge un operatore utile per testare se un numero è divisibile per un altro numero.
%% | Divisibilità
Questo è un operatore infisso che necessita di due operandi:
10 %% 3. Se il primo operando è divisibile per il secondo
operando, il risultato è un Booleano True. Altrimenti,
False.
Operazioni intere
Ci sono operazioni speciali che restituiscono risultati interi. I loro operatori sono parole invece di simboli.
div | Divisione intera mod | Modulo
intero
L’operatore div arrotonda per difetto il risultato,
quindi 10 div 3 è 3, e -10 div 3
è -4.
Sia div che mod si aspettano operandi
interi. Quindi, il seguente programma non funzionerà se decommenti le
righe contrassegnate come Error:
say 10.3 % 3; # OK
# say 10.3 mod 3; # Error
say 10.3 / 3.3; # OK
# say 10.3 div 3.3; # ErrorPotenza
Ci sono due modi per ottenere il risultato di x alla potenza
di y. Prima, puoi usare l’operatore **:
say 3 ** 4; # 81Secondo, puoi usare le cifre in apice, per esempio:
say 3⁴; # 81È possibile mettere più di una cifra in apice per ottenere il valore di una potenza maggiore di 9. Per esempio:
say 2¹⁵; # 32768Anche la potenza negativa non è un problema:
say 2 ** (-2); ## 0.25
say 2⁻²; # 0.25Nota che il risultato delle ultime due espressioni è un numero
Rat.
Operazioni con assegnazione
Tutte le operazioni supportano la sintassi abbreviata quando è
necessario aggiornare la variabile. Dimostriamolo con l’esempio di
+.
La forma completa
$a = $a + $b;è equivalente a:
$a += $b;Navigazione del corso
← Numeri a virgola mobile | Condivisione delle mele →
💪 Oppure vai direttamente agli esercizi di questa
sezione.