
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
ターミナルで実行すると、
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
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
process_food メソッドは、プライベートメソッドです、というエラーが発生しました。
お知らせ

私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)