プロパティを読み書き可能にする
1
3
class Test attr_accessor :val, :val2 def initialize(val, val2) @val = val @val2 = val2 end end test = Test.new(1, 2) puts test.val test.val = 3 puts test.val
プロパティはデフォルトの状態ではクラス外から読み書きともに行うことができず、更新、出力用のメソッドを作成する必要がありますが、クラス内に
と記入することで、対象のプロパティの読み書きをクラス外から直接行えるようになります。
:プロパティ名は,区切りで読み書き可能にするプロパティを複数にすることもできます。
また、
で読み込み専用、
で書き込み専用にすることもできます。
attr_accessor :プロパティ名
と記入することで、対象のプロパティの読み書きをクラス外から直接行えるようになります。
:プロパティ名は,区切りで読み書き可能にするプロパティを複数にすることもできます。
また、
attr_reader :プロパティ名
で読み込み専用、
attr_writer :プロパティ名
で書き込み専用にすることもできます。