0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

チェリー本7.7.6

Posted at

チェリー本7.7.6一部解説

Ruby のメソッド定義は式になっていて、 メソッド定義が完了するとメソッド名をシンボルとして返します。
これを利用すると、メソッド定義が正常に行われたかどうかを確認したり、メソッド名を後で利用することができます。

def foo
 'foo'
end
#=> :foo

この知識を応用すると、 次のようにメソッド定義と同時にそのメソッドをprivateメソッドにすることが可能です。

class User

 private def foo
  'foo'
 end
 
end

user = User.new
user.foo #=> private method 'foo' called for #<User:0x000000013c144398> (NoMethodError)

・流れ
①fooメソッドが定義される
②シンボル:fooは、その返り値となる
③:fooがprivateメソッドの引数となるため、foo メソッドは private として扱われる。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?