※初心者向け
※アウトプット練習の為
開発環境
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文を使わずに、単に戻り値をメソッドの最後に記載することが一般的です。