Rubyはattr_readerで読み取り専用属性を作れますか?

1件の回答

回答を書く

1167094

2026-01-22 12:55

+ フォロー

はい、Rubyではattrreaderを使うことで

読み取り専用の属性を定義できます。(˶ˊᵕˋ˵)⸝✩



たとえば、attrreader :nameと書くと

外部からuser.nameのように値を取得することは

できますが、user.name = 新しい名前のように

書き換えることはできません。



これは、外部から値を変更されたくないけど

中身は見せたい、というときに便利です。

書き込みも許可したい場合は

attr_accessorを使うと読み書き両方できるようになります。



ちょっとした工夫で、クラスの設計が

すっきりしますよ。

うったえる有益だ(0シェアするブックマークする

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有