Rubyの自作したクラスからプライベートメソッドを呼び出すコードを書いたのですが、
Ruby
1class KindOfClasses 2 #インスタンスメソッドを定義 3 def call_public_method 4 p 'publicメソッドが呼ばれました' 5 call_private_method 6 end 7 8 #クラスメソッドを定義 9 def self.call_class_method 10 p 'クラスメソッドが呼ばれました' 11 end 12 13 #プライベートメソッドを定義 14 private 15 def call_private_method 16 p 'privateメソッドが呼ばれました' 17 end 18end 19 20#インスタンスメッソドを呼び出す 21instance = KindOfClasses.new 22instance.call_public_method 23#クラスメソッドを呼び出す 24KindOfClasses.call_class_method 25
↑ call_public_method内でプライベートメソッドを呼び出したコードでは、ちゃんとプライベートメソッドで指定した文章が表示されるのですが、
Ruby
1class KindOfClasses 2 #インスタンスメソッドを定義 3 def call_public_method 4 p 'publicメソッドが呼ばれました' 5 end 6 7 #クラスメソッドを定義 8 def self.call_class_method 9 p 'クラスメソッドが呼ばれました' 10 end 11 12 #プライベートメソッドを定義 13 private 14 def call_private_method 15 p 'privateメソッドが呼ばれました' 16 call_private_method 17 end 18end 19 20#インスタンスメッソドを呼び出す 21instance = KindOfClasses.new 22instance.call_public_method 23#クラスメソッドを呼び出す 24KindOfClasses.call_class_method 25
↑ call_private_method内でプライベートメソッドを呼び出したコードでは、プライベートメソッドで指定した文章が表示されません。
なぜ、call_private_method内でプライベートメソッドを呼び出したコードの時は文章が表示されないのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/20 16:46