関数の引数
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複数の引数を指定して function を呼び出すと、values はパラメーターに順番に対応付けられます。最初の値は最初のパラメーターに、2 番目の値は 2 番目のパラメーターに割り当てられ、以下同様です。
チャレンジ
簡単length と width という2つの引数を受け取る、calculate_area という名前の関数を作成してください。この関数は、print() を使用して面積(length と width を掛けた値)を出力する必要があります。
入力から2つの数値を読み取り、それらを数値に変換して、これらの値を使って関数を呼び出してください。
たとえば、入力が 5 と 3 の場合、出力は次のようになります:
[1] 15入力が 7 と 4 の場合、出力は次のようになります:
[1] 28自分で試してみよう
# 入力を読み取る
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 を受け取る calculate_area という関数を作成する
# そして面積 (length * width) を出力する
# 入力値で関数を呼び出すこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rオンラインコンパイラ