LoginSignup
0
0

More than 3 years have passed since last update.

Rubyのメソッドについて

Last updated at Posted at 2020-07-09

プログラミングの勉強日記

2020年7月10日 Progate Lv.165
RubyⅢ

メソッドとは

 複数の処理を1つにまとめたもの。def メソッド名endの間にまとめたい処理を書くことでメソッドを作成できる(=定義する)。
 メソッドの呼び出しはメソッド名を書くことで行う。

index.rb
def introduce
  puts "Hello World"
end
#メソッドの呼び出し
introduce
コンソール
Hello World

引数

 引数はメソッドに与える情報追加みたいなもの。def メソッド名(引数)で引数の指定ができる。引数を渡してメソッドを呼び出すにはメソッド名(値)とする。

index.rb
def introduce(name)
  puts "こんにちは"
  puts "#{name}です"
end
introduce("田中")
introduce("山本")
コンソール
こんにちは
田中です
こんにちは
山本です

※引数のあるメソッドでは引数を渡さないと呼び出せない

複数の引数

 括弧の中に受け取る引数をコンマ,で区切って並べることで複数の引数を使える。左から順番に第1引数、第2引数という。

index.rb
def introduce(name, age)
  puts "#{name}です"
  puts "#{age}歳です"
end
introduce("田中",17)

メソッドのスコープ

 スコープはその変数が使える範囲のこと。メソッドを定義するときに用意した引数はそのメソッドの中(def~end)でしか使えない。メソッドの中で定義した変数もそのメソッドの中(def~end)でしか使えない。

戻り値

 呼び出し元で受け取る処理結果を戻り値といい、このことを「メソッドが戻り値を返す」という。メソッドの中でreturnを使うことで、呼び出しもとで値を受け取れる。
 returnは戻り値を返すだけでなく、メソッドを終了させる性質も持つ。

index.rb
def add(a, b)
  #a+bの値が戻り値として呼び出し元に戻る
  return a+b
end
sum=add(1, 3)
puts sum
コンソール
4

戻り値は真偽値を返すこともできる。この場合、メソッド名の末尾に?をつける。

index.rb
def negative?(number)
  return number<0
end
puts negative?(5)
コンソール
false

キーワード引数

 引数の値が多くなると、呼び出し側で分かりにくくなってしまうので、キーワード引数で呼び出し側で引数を明記する。
 通常のメソッドに加えて、①定数側で引数の後にコロンを付ける、②呼び出し側で値の前に引数名を書く。この2点をすることで、キーワード引数を持つメソッドを書ける。

index.rb
def introduce(name:, age:, height:)
  puts "私は#{name}です"
  puts "#{age}歳です"
  puts "身長は#{height}cmです"
end
introduce(name:"田中", age:17, height:176)
コンソール
私は田中です
17歳です
176㎝です
0
0
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
0
0