0
0

More than 3 years have passed since last update.

メソッドを外で使用したい時

Last updated at Posted at 2020-08-26

【概要】

1.結論

2.メソッドとは何か

3.どのように使用するのか

4.別解

1.結論

インスタンス変数とインスタンスメソッドを使う!


2.メソッドとは何か

”目的を達成するために決められたやり方。方法。方式”

と出てきますが、簡単に言うと変数にくっつけて使えたり(インスタンスメソッド)、方程式のような元々あるメソッド(lengthやeach,times等々)のことを指します!

外で使用する場合には、スコープの概念が出てくるので
下記の記事に少しだけ書いています!

変数とインスタンス変数の違い

3.どのように使用するのか

では実際はどうなるかといいますと下記の通りになります。

インスタンスメソッドとインスタンス変数の関係
class Student

 def initialize(gender, height, personality)
  @gender = gender
  @height = height
  @personality = personality
 end
 
 def gender
  @gender
 end

 def height
  @height
 end

 def personality
  @personality
 end

end

student = Student.new("男", "175cm", "優しい")
puts "性別:#{student.gender} 身長:#{student.height} 性格:#{student.personality}" 

こうすることで、変数にメソッドをつけて自由に
"def end"の外(スコープの範囲を超えて)でも使用できます!


4.別解

メソッドの内でも同じことが書けます!

メソッド内で完結
class student

def initialize(gender, height, personality)
  @gender = gender
  @height = height
  @personality = personality
  puts "性別:#{@gender} 身長:#{@height}# 性格:#{@personality}"
end

student = Student.new("男", "175cm", "優しい")

このようにしてもメソッド内で使用することができます!


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