Menu
Coddy logo textTech

Operatori logici Parte 3

Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 26 di 93.

La precedenza controlla il modo in cui viene raggruppata un’espressione. ! ha la precedenza più alta, seguito da && e poi da ||. Quindi a || b && c significa a || (b && c).

val a = true
val b = false
val c = false
println(a || (b && c)) // true
println((a || b) && c) // false

Il raggruppamento è diverso dall’ordine di valutazione. || si interrompe quando il suo operando sinistro è true, mentre && si interrompe quando il suo operando sinistro è false. Nella prima espressione qui sopra, b && c non viene mai valutato perché a è già true.

Le parentesi possono modificare il raggruppamento o renderlo esplicito. Valuta prima l’operando sinistro, poi determina se è necessario l’operando destro.

challenge icon

Sfida

Facile

Scrivi una funzione canAccessFeature che accetta isAdmin, isPremium e hasTrialActive e restituisce se un utente può accedere a una funzionalità premium.

Un utente può accedere alla funzionalità se è un amministratore, oppure se è sia un membro premium sia ha una prova attiva.

Usa le parentesi per assicurarti che l’ordine di valutazione sia corretto: la condizione && deve essere raggruppata prima di essere combinata con ||.

Parametri:

  • isAdmin (Boolean): indica se l’utente è un amministratore
  • isPremium (Boolean): indica se l’utente ha un abbonamento premium
  • hasTrialActive (Boolean): indica se l’utente ha un periodo di prova attivo

Valore restituito: true se l’utente può accedere alla funzionalità, false altrimenti (Boolean)

Il driver fornito chiama la tua funzione e stampa il valore restituito. Mantieni la firma della funzione e non aggiungere una funzione main.

Provalo tu

fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
    // Scrivi il codice qui
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin