Menu
Coddy logo textTech

関数の引数

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番目のパラメータに、といった具合に割り当てられます。

challenge icon

チャレンジ

簡単

2つの引数 lengthwidth を受け取る calculate_area という名前の関数を作成してください。この関数は、print() を使用して面積(length に width を掛けたもの)を出力する必要があります。

入力から2つの数値を読み取り、それらを数値型に変換して、これらの値を引数として関数を呼び出してください。

例えば、入力が 53 の場合、出力は以下のようになります:

[1] 15

入力が 74 の場合、出力は以下のようになります:

[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という関数を作成してください


# 入力値を使用して関数を呼び出す
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン