默认参数值
本课属于 Coddy R 学习旅程的“基础知识”单元。第 51 课,共 78 课。
有时,你希望函数具有一种“标准”行为,并能在需要时进行自定义。默认参数值可以让你定义调用者未提供参数时该参数应采用的值。
在函数定义中使用 = 来设置默认值:
greet <- function(name = "Guest") {
print(paste("Hello,", name))
}
greet()
greet("Alice")输出:
[1] "Hello, Guest"
[1] "Hello, Alice"不提供参数时,函数会使用 "Guest" 作为默认值。提供值时,它会覆盖默认值。
你可以混合使用必需参数和可选参数。带默认值的参数应放在不带默认值的参数后面:
calculate_total <- function(price, tax_rate = 0.1) {
return(price + (price * tax_rate))
}
print(calculate_total(100))
print(calculate_total(100, 0.2))输出:
[1] 110
[1] 120这里,price 是必需的,而 tax_rate 的默认值为 10%。这样一来,你的函数就很灵活:常见情况下使用简单,需要时也可以自定义。
挑战
简单创建一个名为 calculate_shipping 的函数,它接受两个参数:
weight:包裹的重量(必需)rate:每单位重量的费用(可选,默认值为5)
函数应返回运费,计算方式为 weight * rate。
你会收到两行输入:
- 一个重量值
- 一个费率值或单词
default
如果第二个输入是 default,则只用重量调用函数(使用默认费率)。否则,使用重量和提供的费率调用函数。
打印返回的结果。
例如,如果输入是:
10
default输出应为:
[1] 50如果输入是:
10
3输出应为:
[1] 30亲手试试
# 读取输入
con <- file("stdin", "r")
weight <- as.numeric(suppressWarnings(readLines(con, n = 1)))
rate_input <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: 在下方编写你的代码
# 1. 定义 calculate_shipping 函数,包含必填参数 weight 和可选参数 rate(默认值为 5)
# 2. 检查 rate_input 是 "default" 还是数字
# 3. 根据情况调用函数并打印结果这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: R 在线编译器