関数の引数
CoddyのRジャーニー「基礎」セクションの一部 — レッスン 47/78。
関数は、入力を受け取ることができるようになると、より強力になります。引数(パラメータとも呼ばれます)を使用すると、関数に値を渡すことができ、さまざまな状況に合わせて柔軟に再利用できるようになります。
引数を追加するには、関数を定義する際に括弧の中に記述します:
greet <- function(name) {
print(paste("Hello,", name))
}
greet("Alice")
greet("Bob")出力:
[1] "Hello, Alice"
[1] "Hello, Bob"この関数は、提供された任意の名前で動作するようになりました。greet("Alice") を呼び出すと、値 "Alice" が関数内の name パラメータに代入されます。
カンマで区切ることで、複数の引数を定義できます。
add <- function(a, b) {
print(a + b)
}
add(5, 3)
add(10, 20)出力:
[1] 8
[1] 30複数の引数を使用して関数を呼び出す際、値は順番にパラメータに対応付けられます。最初の値は最初のパラメータに、2番目の値は2番目のパラメータに、といった具合に割り当てられます。
チャレンジ
簡単2つの引数 length と width を受け取る calculate_area という名前の関数を作成してください。この関数は、print() を使用して面積(length に width を掛けたもの)を出力する必要があります。
入力から2つの数値を読み取り、それらを数値型に変換して、これらの値を引数として関数を呼び出してください。
例えば、入力が 5 と 3 の場合、出力は以下のようになります:
[1] 15入力が 7 と 4 の場合、出力は以下のようになります:
[1] 28チートシート
関数は、柔軟性と再利用性を高めるために引数(パラメータ)を受け取ることができます。引数は、関数を定義する際に括弧の中に記述します:
greet <- function(name) {
print(paste("Hello,", name))
}
greet("Alice") # [1] "Hello, Alice"関数を呼び出す際、渡された値は関数内のパラメータに代入されます。
カンマで区切ることで、複数の引数を定義することができます:
add <- function(a, b) {
print(a + b)
}
add(5, 3) # [1] 8複数の引数を持つ関数を呼び出す場合、値は順番にパラメータに割り当てられます。
自分で試してみよう
# 入力を読み込む
con <- file("stdin", "r")
length <- as.numeric(suppressWarnings(readLines(con, n = 1)))
width <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)
# TODO: lengthとwidthを受け取り、
# 面積(length * width)を出力するcalculate_areaという関数を作成してください
# 入力値を使用して関数を呼び出すこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。