Menu
Coddy logo textTech

Valori predefiniti dei parametri

Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 51 di 78.

A volte vuoi che una funzione abbia un comportamento "standard" personalizzabile quando necessario. I valori predefiniti dei parametri ti permettono di definire quale valore debba avere un parametro se chi chiama la funzione non lo specifica.

Imposti un valore predefinito usando = nella definizione della funzione:

greet <- function(name = "Guest") {
  print(paste("Hello,", name))
}

greet()
greet("Alice")

Output:

[1] "Hello, Guest"
[1] "Hello, Alice"

Quando viene chiamata senza un argomento, la funzione usa "Guest" come valore predefinito. Quando fornisci un valore, questo sostituisce quello predefinito.

Puoi combinare parametri obbligatori e facoltativi. I parametri con valori predefiniti devono venire dopo quelli senza:

calculate_total <- function(price, tax_rate = 0.1) {
  return(price + (price * tax_rate))
}

print(calculate_total(100))
print(calculate_total(100, 0.2))

Output:

[1] 110
[1] 120

Qui, price è obbligatorio, mentre tax_rate ha un valore predefinito del 10%. Questo rende le tue funzioni flessibili: semplici da usare nei casi comuni, ma personalizzabili quando necessario.

challenge icon

Sfida

Facile

Crea una funzione chiamata calculate_shipping che accetta due argomenti:

  • weight - il peso del pacco (obbligatorio)
  • rate - il costo per unità di peso (facoltativo, valore predefinito 5)

La funzione deve restituire il costo di spedizione, calcolato come weight * rate.

Riceverai due righe di input:

  1. Un valore di peso
  2. Un valore di tariffa OPPURE la parola default

Se il secondo input è default, chiama la funzione passando solo il peso (usando la tariffa predefinita). Altrimenti, chiama la funzione passando sia il peso sia la tariffa fornita.

Stampa il risultato restituito.

Ad esempio, se gli input sono:

10
default

L'output dovrebbe essere:

[1] 50

Se gli input sono:

10
3

L'output dovrebbe essere:

[1] 30

Provalo tu

# Leggi l'input
con <- file("stdin", "r")
weight <- as.numeric(suppressWarnings(readLines(con, n = 1)))
rate_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Scrivi il tuo codice qui sotto
# 1. Definisci la funzione calculate_shipping con weight (obbligatorio) e rate (facoltativo, valore predefinito = 5)
# 2. Controlla se rate_input è "default" o un numero
# 3. Chiama la funzione nel modo appropriato e stampa il risultato
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: Compilatore R online