LoginSignup
4
2

More than 1 year has passed since last update.

処理に名前をつけて使おう① introduceメソッド

Posted at

※初心者向け
※アウトプット練習の為

開発環境
rails 6.1.4.1
ruby 2.6.5

問題内容1

introduceメソッドを作成してください。

メソッドの処理
私の名前はRubyです。とターミナルに出力する。

解答1

def introduce
  puts "私の名前はRubyです。"
end

解説1

メソッドを作成する場合には、以下のようにプログラムを書きます。

def メソッド名
  # メソッドの処理
end

今回はメソッド名をintroduceにするため、メソッドの定義は以下のようになります。

def introduce
  # メソッドの処理
end

メソッドの処理はdef メソッド名とendの中に記述します。今回はターミナルに文字を出力するのでputsメソッドを使います。

def introduce
  puts "私の名前はRubyです。"
end

なお、問題の条件はメソッドを作成するのみなので、メソッドを呼び出す記述は不要です。もし自身のターミナルで挙動を確認したい場合は以下のように記述し、実行します。

def introduce
  puts "私の名前はRubyです。"
end

# メソッドの呼び出し
introduce

問題内容2

doubleメソッドを作成してください。

メソッドの処理
処理1:ターミナルから数値を入力させる
処理2:入力した数値を2倍にした値を戻り値にする

解答2

def double
  num = gets.to_i
  num * 2
end

もしくはreturnを使って

def double
  num = gets.to_i
  return num * 2
end

解説2

まず、メソッドの定義をします。今回はメソッド名がdoubleなので定義は以下のようになります。

def double
  # メソッドの処理
end

次にメソッドの処理を考えます。今回のメソッドの処理は大きく分けて2つあります。
処理1:ターミナルから数値を入力させる
処理2:入力した数値を2倍にした値を戻り値にする

処理1:ターミナルから数値を入力させる
まずターミナルから数値を入力させます。ターミナルに文字を入力するときはgetsメソッドを使います。

def double
 num = gets
end

getsメソッドで入力した文字は全て文字列となります。そこで文字列を数値に変換するto_iメソッドを使って、getsメソッドで入力した文字を数値に変換します。

def double
 num = gets.to_i
end

処理2:入力した数値を2倍にした値を戻り値にする
戻り値というのは、メソッドを呼び出したあとに取得される値です。メソッドでは、以下のどちらかの値が戻り値となります。
①メソッドの処理の最後に書かれた値
②return文を使って指定された値

まず①のようにメソッドの最後の値が基本的に戻り値になります。よって以下のようにnum * 2をメソッドの最後に記載すれば、numを2倍した値が戻り値になります。

def double
  num = gets.to_i
  num * 2
end

もしくはreturn文を使っても良いです。return文はreturn 値とすれば、たとえメソッドの最後でなくても、その値を戻り値にできます。

def double
  num = gets.to_i
  return num * 2
end

Rubyではreturn文を使わずに、単に戻り値をメソッドの最後に記載することが一般的です。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2