【Ruby】クラス内のメソッドを外部で読み込まないようにする
Ruby

【Ruby】クラス内のメソッドを外部で読み込まないようにする

作成日:2022年08月01日
更新日:2022年08月01日

Ruby でクラス内のメソッドを外部から読み込まれないようにするにはprivateを使用します。

読み込まれたくないメソッドの上の行にprivateを入力しましょう。

ruby
class Fluit
def initialize(product)
@product = product
end
private
def fluit
puts @product
end
end
banana = Fluit.new("バナナ")
banana.fluit

ターミナルで実行すると、

image2

fluit は、プライベートメソッドです、というエラーが発生しました。

プライベートメソッドを使用するには、クラス内部で呼び出す必要があります。

ruby
class Fluit
def initialize(product)
@product = product
end
def food
fluit
end
private
def fluit
puts @product
end
end
banana = Fluit.new("バナナ")
banana.food

image3

food メソッドから fluit メソッドを読み込みました。

プライベートメソッドの下に書いたメソッドは、全てプライベートメソッドになるので、注意しましょう。

ruby
class Fluit
def initialize(product)
@product = product
end
def food
fluit
end
private
def fluit
puts @product
end
def process_food
puts @product
end
end
banana = Fluit.new("バナナ")
banana.food
juice = Fluit.new("バナナジュース")
juice.process_food

image4

process_food メソッドは、プライベートメソッドです、というエラーが発生しました。

© 2023あずきぱんウェブスタジオ