Valori restituiti
Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 50 di 88.
Finora, i nostri metodi hanno eseguito azioni come stampare l'output. Ma i metodi diventano davvero potenti quando possono inviare dati al codice che li ha chiamati. A questo servono i valori restituiti.
In Ruby, un metodo restituisce automaticamente il valore della sua ultima espressione:
def add(a, b)
a + b
end
result = add(5, 3)
puts result # Restituisce: 8Nota che non c'è puts all'interno del metodo. Invece, il metodo calcola a + b e restituisce quel valore. Possiamo quindi memorizzarlo in una variabile o usarlo direttamente.
Puoi anche usare esplicitamente la parola chiave return:
def multiply(a, b)
return a * b
end
puts multiply(4, 5) # Stampa: 20La parola chiave return esce immediatamente dal metodo e restituisce il valore specificato. È utile quando vuoi uscire in anticipo in base a una condizione. Entrambi gli approcci funzionano, ma i programmatori Ruby spesso si affidano ai ritorni impliciti per scrivere codice più pulito.
I valori restituiti ti permettono di concatenare operazioni e creare una logica complessa a partire da metodi semplici:
def double(n)
n * 2
end
puts double(double(3)) # Restituisce: 12Sfida
FacileDefinisci un metodo chiamato square che accetta un parametro n e restituisce il quadrato di quel numero (il numero moltiplicato per sé stesso).
Leggi due numeri interi dall'input. Usa il metodo square per calcolare il quadrato di ciascun numero, poi stampa la somma dei due quadrati.
Per esempio, se gli input sono 3 e 4:
- Il quadrato di 3 è 9
- Il quadrato di 4 è 16
- La somma è 25
L'output dovrebbe essere:
25Se gli input sono 5 e 2, l'output dovrebbe essere:
29Provalo tu
# Leggi due numeri interi dall'input
num1 = gets.chomp.to_i
num2 = gets.chomp.to_i
# TODO: Definisci il metodo square qui sotto
# TODO: Calcola la somma dei quadrati usando il metodo square e stampa il risultatoQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dall'utente10FizzBuzz con un colpo di scena
Panoramica del giocoIl metodo FizzBuzz2Variabili e tipi di dato
Numeri e variabiliTipo di dato stringaTipo di dato booleanoTipo di dato SymbolVerifica dei tipi di datoConvenzioni di denominazioneRiepilogo - Creazione di variabili5Strutture decisionali
Istruzione ifIf-ElseRipasso - Calcolatrice sempliceIf-Else annidatoIstruzione unless8Cicli
Ciclo for con intervalliCiclo whilebreaknextRiepilogo - FattorialeCiclo timesCiclo untilCicli annidatiRiepilogo - Input dinamico3Operatori, parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso: matematica sempliceOperatori di confronto6Input/Output di base
Output con putsOutput con print e pOutput con variabiliInput con getsMetodo chompConversione di tipoRipasso - Calcolatore dell'etàRipasso - Vero o falsoEsercitati da solo: Compilatore Ruby online