Menu
Coddy logo textTech

戻り値

CoddyのRジャーニー「基礎」セクションの一部 — レッスン 48/78。

これまで、私たちの関数は出力を直接表示してきました。しかし、多くの場合、関数に値を計算させ、それをコードの他の場所で使用できるように戻したいことがあります。ここで戻り値の出番です。

関数から値を返すには、return() 関数を使用します:

add <- function(a, b) {
  return(a + b)
}

result <- add(5, 3)
print(result)

出力:

[1] 8

関数内で出力する代わりに、合計を返します。返された値は変数に格納したり、計算に使用したり、他の関数に渡したりすることができます。

これにより、関数の汎用性が大幅に向上します:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))

出力:

[1] 16

Rでは、return()を使用しない場合、関数は最後に評価された式を自動的に返します。しかし、明示的にreturn()を使用することでコードがより明確になり、特に関数を途中で終了させたい場合に便利です。

challenge icon

チャレンジ

簡単

2つの引数 baseexponent を受け取る calculate_power という名前の関数を作成してください。この関数は、^ 演算子を使用して、base を exponent 乗した結果を return(返却)する必要があります。

入力から2つの数値を読み込み、それらを数値型に変換して、作成した関数を呼び出してください。返された値を result という名前の変数に格納し、result を出力してください。

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

[1] 8

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

[1] 25

チートシート

関数は return() 関数を使用して値を返すことができます。これにより、結果を変数に格納したり、他の操作で使用したりできるようになります。

add <- function(a, b) {
  return(a + b)
}

result <- add(5, 3)
print(result)  # [1] 8

返された値は、式の中で直接使用できます:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))  # [1] 16

Rでは、return() が使用されていない場合、関数は最後に評価された式を自動的に返します。しかし、明示的に return() を使用することで、コードがより明確になり、関数から早期に抜けることが可能になります。

自分で試してみよう

# 入力を読み込む
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# TODO: baseとexponentを受け取るcalculate_powerという名前の関数を作成する
# そして、^ 演算子を使用してbaseをexponent乗した結果を返す


# TODO: 入力値を使用して関数を呼び出し、結果を 'result' に格納する


# 結果を出力する
print(result)
quiz icon腕試し

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

基礎のすべてのレッスン