クラスメソッドの種類
【開発環境】
OS:Win11(64ビット)
Ruby 3.1.2
【メソッドの種類】
class クラス名
def メソッドA
処理
end
private
def メソッドB
処理
end
end
実行
インスタンスA = クラス名.new
インスタンスA.メソッドB→呼び出し不可能
「プライベート.rb」ファイルを書く
class Kingofclass
#インスタンスメソッドを定義
def call_public_method
p 'publicメソッドが呼ばれました'
call_private_method
end
# クラスメソッドを定義
def self.call_class_method
p 'クラスメソッドが呼ばれました'
end
#プライベートメソッドを定義
private
def call_private_method
p 'privateメソッドが呼ばれた'
end
end
#インスタンスメソッドを呼び出す
instance = Kingofclass.new
instance.call_public_method
#クラスメソッドを呼び出す
Kingofclass.call_class_method
#プライベートメソッドを呼び出す
instance.call_private_method
2.コマンドを実行する
Microsoft Windows [Version 10.0.22000.795]
(c) Microsoft Corporation. All rights reserved.
C:\Users\Owner>ruby D:\pg\Ruby31-x64\サンプルプログラム\プライベート.rb
"publicメソッドが呼ばれました"
"privateメソッドが呼ばれた"
"クラスメソッドが呼ばれました"
D:/pg/Ruby31-x64/サンプルプログラム/プライベート.rb:28:in `
': private method `call_private_method' called for #<Kingofclass:0x000001c912915ac8> (NoMethodError)
instance.call_private_method
^^^^^^^^^^^^^^^^^^^^
Did you mean? call_public_method
C:\Users\Owner>call_private_method